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

And you can use it as follows:

./sshUserSetup.sh -user oracle -hosts "dsib0251 dsib0252" -noPromptPassphrase -confirm -advanced

I had also used the runcluvfy.sh script to check that Oracle thought that the system was ready for a RAC install:

[oracle@dsib0251 grid]$ ./runcluvfy.sh comp nodecon -n dsib0251,dsib0252 -verbose

Verification of node connectivity was successful.

CVU operation performed: node connectivity
Date: Jun 7, 2022 3:17:26 PM
CVU home: /u01/app/19c/grid
User: oracle

MOS Note 2555697.1 ended up being the most helpful in solving this problem.

But since the problem impacted both installed Grid Infrastructure, and the database software, I ended up using two approaches.

The problem apparently is caused by OpenSSH being upgraded to 8.x which I assume is the default with OEL8. You can verify your system as follows:

[oracle@dsib0251]$ ssh -V
OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021

To solve the GI installer issue I decided to apply patch 30159782. Of course, Oracle being Oracle, this is not a simple process, as you have to patch the patching software before you can apply the patch. So first, we need to download a newer release of OPatch using MOS note 274526.1 otherwise known as patch 6880880.

We now have to apply this patch to the unzipped GI home before we launch gridSetup.sh:

cd $ORACLE_HOME
mv OPatch OPatch.bkp
unzip /download/oracle/p6880880_122010_Linux-x86-64.zip
cd OPatch

Next download the patch we really need. In this case it was patch 33803476 which was downloaded and staged on the first RAC node. Now we can launch gridSetup.sh and apply the patch to the GI home as part of running the setup script:

./gridSetup.sh -applyRU /download/oracle/19.15/33803476

That approach worked for installing Grid Infrastructure.

But when installing the database software the error appeared again.

This time I tried the second approach, which is to change the behavior of the scp executable in Linux:

The scp executable is renamed to scp.orig. Then a script named /usr/bin/scp is created containing the following:

/usr/bin/scp.orig -T $*

The new script is made executable by all.

[root@dsib0252]# cd /usr/bin
[root@dsib0252 bin]# mv scp scp.orig
[root@dsib0252 bin]# echo "/usr/bin/scp.orig -T \$*" > /usr/bin/scp
[root@dsib0252 bin]# chmod 555 /usr/bin/scp
[root@dsib0252 bin]# cat scp
/usr/bin/scp.orig -T $*

This change might have worked for the error from the Grid Infrastructure as well, but in the end I used both approaches.

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

Adding a GUI to Oracle Enterprise Linux from the local install media

I’ve made this mistake a few times now.

In my excitement to get a new copy of OEL installed, I manage to forget to select the version with the GUI.  I reboot my VM, and am presented with a command-line login.

Of course I could just delete the VM and start over.  Or I could follow the instructions available from several sites and blogs that explain a simple yum command to a public repo is all I need to add the missing graphical interface:

$ yum groupinstall  "Server with GUI"

But more often than not, I am doing this in a company lab that is more locked down than Ft. Knox.  Draconian network security mandates mean no public internet access, and it would be an act of Congress to get that changed.

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