ORA-12637: Packet receive failed

I recently installed the Oracle Instant Client 21c on a Linux host.

I then tried to access an Oracle 19c RAC database on another host:

connect soe/soe@racn1.rrcsc.pmax.local:1521/metrodb.rrcsc.pmax.local

ORA-12637: Packet receive failed

Numerous blog posts on this error, but in this case I needed to add the directive DISABLE_OOB=ON to my SQLNET.ORA.

Normally this would be in $ORACLE_HOME/network/admin, but on the Instant Client, it is located in:


[root@MYLINUX01 ~]# cat /lib/oracle/21/client64/lib/network/admin/sqlnet.ora

DISABLE_OOB=ON

Resolving ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O in Oracle 12c

I have been running into some problems recently with 12cR2 databases and Kevin Clossons’ SLOB tool.

The SLOB setup.sh script allows for the concurrent loading of multiple schemas, and if you are loading a large amount of data, being able to load concurrently is a significant time saver.

With LOAD_PARALLEL_DEGREE set to 8, I got the following error:

ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 3
Additional information: 128
Additional information: 140728056780720

These servers were new Dell R630s with plenty of horsepower, so the idea that just 8 parallel threads would cause this type of a failure was puzzling.

Further investigation of the trace file showed that the problem occured on the index shrink command:

SQL> SQL> ALTER INDEX i_cf1 SHRINK SPACE COMPACT
*
ERROR at line 1:
ORA-12801: error signaled in parallel query server P13L, instance
sio04-mgmt.asp.lab.mcl:slob4 (4)

After some time investigating, it seems Oracle 12c has a much higher target for PARALLEL_MAX_SERVERS and PARALLEL_SERVERS_TARGET.  In my case, PARALLEL_MAX_SERVERS had defaulted to 2240.

Since the SLOB data load uses the parallel query option, Oracle was spawning thousands of slave processes all trying to issue ASYNC IO.

So I set the numbers to what I considered more reasonable:

SQL> alter system set parallel_max_servers=400 sid='*';

System altered.

SQL> alter system set parallel_min_servers=40 sid='*';

System altered.

SQL> alter system set parallel_servers_target=400 sid='*';

System altered.

Now SLOB was able to load data with eight concurrent processes.

Adding VVols to vCenter from a Dell EMC Unity all flash array

The Dell EMC Unity array is a capable mid-market platform able to support a variety of workloads.

In the all-flash configuration it delivers good performance for Oracle databases, and with the ability to support VVols is a good choice for databases virtualized with VMware ESX 6.

The following blog post walks you through adding VVol based shared storage for an Oracle 12c RAC using ASM and virtualized on VMware ESX 6.

Continue reading

UDEV rules for ASM disks on RHEL7

On this blog and elsewhere you will find UDEV rules examples for setting device ownership and naming consistency on older versions of Linux.

With RHEL7 some of the syntax has changed slightly.

This example was created using OEL7 with the Red Hat kernel, but should also work on Red Hat and CentOS.

Continue reading

Oracle User Profiles; Verifying and Changing the default profile

This is an issue that keeps tripping me up in the development lab.

I create a quick database, and then after some time I go back to try to log in, and get:

ERROR:
ORA-28002: the password will expire within 7 days

And then I spend a while trying to figure out how to disable the password expiry component of the profile.

Here then, for my benefit as much as anyone else, is my quick guide to checking the user profile, and then disabling security components that cause headaches in the development lab.

Continue reading

IPO announced? Be sure your Oracle licenses are in order…

I have stated this before. I am not a lawyer.

Neither am I an investment expert. Heck I ploughed money into Transocean two months before the Deepwater Horizon sank to the bottom of the Gulf and left a destructive oily mess all over the Gulf Coast.

So don’t take any stock picks from me.

But on a recent trip to the Midwest I met with a customer in an interesting predicament.

Continue reading

Running Swingbench oewizard in lights-out mode and connecting as SYSDBA

It seemed a simple enough thing to need to do;

Use the Swingbench oewizard tool to generate 1TB of data in my test database on DSSD, using the lights-out mode.

I am guessing everyone else knows how to do this, but it wasn’t obvious to me! And after spending nearly thirty minutes online trying to figure out how to connect through JDBC thin drivers as a SYSDBA privileged account, I finally realized that you specify the SYS password, but you DON’T specify the SYS username

So for any other DBAs as dense as me; here is how to create a 1TB Swingbench SOE schema using the oewizard in lights-out mode:

./oewizard -cl -create -scale 1000 -u soe -p soe -ts soe -tc 96 -df +DATA -cs //localhost:1521/dssd04 -dt thin -part -allindexes -bigfile -dbap oracle

After indexes are added, the SOE tablespace will be about 2.2TB.

Creating Oracle ASM disks on EMC DSSD flash storage

EMC recently announced the availability of its DSSD rack scale flash storage appliance.

DSSD’s specs are impressive:

  • 10 Million IOPs
  • 100GB/S bandwidth
  • 144TB capacity
  • 100uS latency

The DSSD D5 takes a different approach to flash storage, by eliminating the latency prone networking layer typically handled by Fibre Channel, Infiniband or iSCSI. DSSD replaces this with a PCI extension through a proprietary PCIe Isley Card that connects servers to the D5.

DSSD also replaces conventional SSDs that package NAND technology and makes them look like fast spinning disks, with Flash Modules that eliminate much of the latency of mimicking spinning disks.

There’s a lot more to the D5 that just that, but I am taking a DBA centric approach, and all I want to know is, how do I consume this fast storage in my database?

Continue reading