Solving INS-06006: Passwordless SSH connectivity during Oracle 19c RAC install

I was recently installing Oracle 19c RAC on a pair of servers running OEL8 UEK.

During the install of Grid Infrastructure the installer repeatedly failed the verification check stating that:

“[INS-06006] Passwordless SSH connectivity not set up between the following nodes(s)”

It is worth remembering that Oracle offers a relatively simple method to set up passwordless ssh connections between machines, which I had used prior to trying to install RAC:

In the Grid Infrastructure directory there is a script called sshUserSetup.sh

Continue reading

Powerstore Protection Policies and protecting Oracle ASM diskgroups

This is a quick post to demonstrate how Protection Policies can be used with Volume Groups to protect Oracle databases on Powerstore.

A Protection Policy is a powerful tool that the Powerstore storage array offers to protect application data, by automatically replicating the data to a second Powerstore which might be across the data center, or across the country.   And it can also protect the application data by generating snapshot copies of the data at a pre-determined time, or on a routine schedule.   

Such copies can then be set to auto-expire after a given amount of time.

Continue reading

Mounting and Opening an Oracle database created with a thin clone snapshot on Powerstore

In my last blog post I created a thin clone of my Swingbench database on my Oracle1 server, and mounted that thin clone to my Oracle2 server.

I also renamed the cloned ASM diskgroups SWINGDATA and FRA, to CLONESWINGDATA and CLONEFRA, as I already had ASM diskgroups with those names on Oracle2 already. As a final step I renamed the individual ASM disks within each of the cloned ASM diskgroups.

In this blog post I am going to mount and open the clone on Oracle2.

Note: There is a video for this post
Continue reading

Creating a Storage Snapshot of an Oracle database using Dell Powerstore

Storage level snapshot are an incredibly fast and space efficient method to create usable clones of an Oracle database. In this post we’ll create a storage-level snapshot of a Oracle database using a Dell Powerstore storage array. Our database spans two ASM diskgroups, and will be mounted to a second server.

Note: There is a video of this post.
Continue reading

Create ASM diskgroups with Dell Powerstore

I recently got an opportunity to do some testing with a Dell Powerstore 5000T all-flash storage array, so I thought I would share some of the notes I made during my testing, for the benefit of any DBAs who might be using one to deliver ASM disks to their Oracle databases.

This will be part of a series of posts that focus on the management of Oracle and ASM with Powerstore, so consider this post as a foundational topic. Nothing especially earth shattering, but some solid points nonetheless.

Oh, and there’s a video too

Continue reading

Oracle Partitioning and Standard Edition

Oracle Partitioning is a great feature.

Large tables can be partitioned into smaller pieces based on data ranges, values or dates, and queries that are designed to respect the partitioning scheme can automatically discount from consideration partitions that do not contain applicable data.

Partitions can be added or removed, moved, made read only, and so on.

That is only a very brief overview of the benefits of partitioning to large database tables, and anyone who had designed a data warehouse will understand why this feature is so powerful.

But it is also very expensive.

Oracle Partitioning is only available as an add-on cost to the already expensive Enterprise Edition license.

But what about if you want to realize some of these benefits without paying for the Partitioning option?  Taking this even further could we implement some form of Partitioning with the massively less expensive Standard Edition?

Continue reading

A method to fix a corrupted SPFILE in ASM

So you’ve made some changes to your SPFILE, and since the parameters you want change cannot be made to a running instance, you used the scope=spfile clause.

Now you go to restart your database, and you find the instance won’t start!

[oracle@sio01-mgmt sql]$ srvctl start database -d dbbench
PRCR-1079 : Failed to start resource ora.dbbench.db
CRS-5017: The resource action "ora.dbbench.db start" encountered the following error:
ORA-01078: failure in processing system parameters
. For details refer to "(:CLSN00107:)" in "/u01/app/oracle/diag/crs/sio02-mgmt/crs/trace/crsd_oraagent_oracle.trc".

Continue reading

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.

Restore an RMAN backup to a different host

 

Oracle RMAN is a powerful tool with many features for recovering datafiles, tablespaces or even single blocks, as well as cloning databases for non production uses.  However restoring a database to an entirely different server (or set of servers) it was backed up from is a somewhat cumbersome process.

In this post we will restore an RMAN backup to a new host, keeping the same database name and datafile names.

Continue reading