Dienstag, 3. Dezember 2019

glitches on runInstaller attachHome


Cloning ORACLE_HOMEs should be quite well known by now.

Still sometimes there are some glitchs to take care of.
In this case I cloned an existing ORACLE_HOME (dbhome_1) to a new one (dbhome_2) so I can apply a patch and reduce the downtime to <switching ORACLE_HOME> plus <running datapatch>.

Running the runInstaller was straight forward:
./runInstaller -silent -attachHome -invPtrLoc /var/opt/oracle/oraInst.loc \
 ORACLE_HOME="/path_to/oracle/product/18.0.0/dbhome_2" \
 ORACLE_HOME_NAME="OraDB18Home2" CLUSTER_NODES="{MY_NODE}" -local

But when I tried to start the instance (in an Oracle Restart configuration) a strange error occured:

srvctl start database -db MY_DATABASE

PRCR-1079 : Failed to start resource ora.MY_DATABASE.db
CRS-5017: The resource action "ora.MY_DATABASE.db start" encountered the following error:
ORA-12777: A non-continuable error encountered.  Check the error stack for additional information [ksm_check_ob_paths:1], [ORACLE_BASE], [], [].
ORA-08275: Environment variable unset
. For details refer to "(:CLSN00107:)" in "/ORACLE_BASE/diag/crs/MY_NODE/crs/trace/ohasd_oraagent_oracle.trc".

CRS-2674: Start of 'ora.MY_DATABASE.db' on 'rznjvh175' failed

and the tracefile only contains lines of limited help:
2019-12-03 10:37:17.014 : USRTHRD:748464: {0:6:2} Thread:ASM DedicatedThread AsmCommonAgent::DedicatedThread::run  220 isRemoteListenSet=0
2019-12-03 10:37:17.651 :CLSDYNAM:51523: [ora.MYDATABASE.db]{0:0:36611} [start] ORA-12777: A non-continuable error encountered.  Check the error stack for additional information [ksm_check_ob_paths:1], [ORACLE_BASE], [], [].
ORA-08275: Environment variable unset

With no real luck at googling or searching MOS I had a lucky punch on
orabase command returns no value instead of ORACLE_BASE value. (Doc ID 2225573.1)

So I decided to edit the file /path_to/oracle/product/18.0.0/dbhome_2/install/orabasetab
to
/path_to/oracle/product/18.0.0/dbhome_2:/path_to/oracle:OraDB18Home2:N:

That made the trick and HAS can start the instance with new ORACLE_HOME.

I would assume runInstaller should to this task, and I have no idea why it was not done.
Just one more line on my list of post-activities.

Kommentare:

Mikhail Velikikh hat gesagt…

Hi Martin,


I would assume runInstaller should to this task, and I have no idea why it was not done.

I think attachHome attaches an Oracle home to the Central Inventory as it is said in the following document:
FAQ: RDBMS Oracle Home Cloning Using OUI (Doc ID 565009.1)
What is the difference between attachhome and cloning?

Whereas during cloning the installation steps are performed and all relevant files are supposed to be updated. Any reason why you used attachHome instead of running runInstaller -clone or clone.pl ?
I use the following clone command in my environment, which is Single Instance non-RAC (SIHA):
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/clone/bin/clone.pl ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME={{ new_home_name }}

Regards,
Mikhail.

Martin Berger hat gesagt…

Thank you Mikhail,

in this case the answer to What is the difference between attachhome and cloning? is the key here.
I did a quick test with clone.pl and orabasetab was changed as expected.

thank you for pointing this out,
Martin