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.

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Introduction

A couple of weeks ago, Oracle released the long awaited Oracle 12c database, with lots of exciting new features.

A couple of great blog posts have already been done on how to install this, but from what I have seen they rely on Oracle’s OVM technology and/or Oracle Enterprise Linux.

This blog post is a detailed step-by-step of Oracle 12cR1 RAC using VMware Workstation and CentOS 6.4.

Continue reading

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Part XI

Time Required: 20 minutes

Class Materials:

  • Completed Oracle 12c install

The next step is to create a new 12c database!

The dbca is still the method used to create a new database in 12c. But before we launch the installer, we will modify the /etc/oratab file.

Continue reading

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Part X

Time Required: 60 minutes

Class Materials:

  • Oracle 12cR1 Database software

The next step is to install the Oracle 12c database software.

The database install process is largely unchanged from the 11g installer, so this should be familiar terriroty to most DBAs.

Continue reading

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Part IX

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Part IX

Time Required: 60 minutes

Class Materials:

  • Oracle 12cR1 Grid Infrastructure software

Now that we have completed all the preparation steps and the grid pre-install steps, we can install the 12c Oracle Grid Infrastructure software.

The Grid Infrastructure will provide the Cluster software that allows the RAC nodes to communicate, as well as the ASM software to manage the shared disks.

Continue reading

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Part VIII

Time Required: 30 minutes

Class Materials:

  • Oracle 11gR2 Grid Infrastructure software

Next we are going to perform some final steps before we can launch the Oracle Grid Infrastructure install.

The Grid Infrastructure will provide the cluster software that allows the RAC nodes to communicate, as well as the ASM software to manage the shared disks.

To begin, download the zip files from the Oracle software download website and unzip on Ruggero. Make sure you are logged in as the oracle user so that oracle owns the unzipped files.

Continue reading

Oracle 12cR1 12.1.0.1 2-node RAC on CentOS 6.4 on VMware Workstation 9 – Part VII

Time Required: 60 minutes

Class Materials:

  • 20GB of disk space
  • an ASCII text editor

Next we are going to add shared disk for the RAC cluster to use.

In earlier releases of Oracle RAC, a mimimal RAC could be stood up on less than 5GB of ASM disk. With Oracle 12c that is no longer possible.

For this demonstration I am going to create a 20GB shared disk. If you are tight on space you just about shoe horn it into a 10GB disk.

Continue reading