Twitter

gridSetup.sh : ERROR: The home is not clean. This home cannot be used. . .

Oracle 12c introduced an awesome feature with gridSetup.sh to ease the Grid Infrastructure software management and it looks very good tool so far.
I wanted to share a behavior that may be interested to know when applying a PSU, let's have a look.


First of all, I have installed a GI 12.2 from a downloaded image :

[grid@exadata_db01 grid]$ unzip -q /software/oracle/V840012-01.zip -d /u01/app/12.2.0.1/grid
[grid@exadata_db01 grid]$


And I have then applied the Jan 2018 RU against this GI and got an error :

[grid@exadata_db01 grid]$ ./gridSetup.sh -applyPSU /software/oracle/27100009
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
Preparing the home to patch...
Applying the patch /software/oracle/27100009...
OPatch command failed while applying the patch. For details look at the logs from /u01/app/12.2.0.1/grid/cfgtoollogs/opatch/.
[grid@exadata_db01 grid]$ 

Note that here gridSetup.sh is very nice as I haven't set the -silent option but as my X display is not detected (indeed I haven't forwarded my X11), gridSetup.sh continues forward here which is much appreciated.

I then had a look at the logfile and found that my opatch was obsolete and needed to be updated (actually, I messed up in the opatch update before starting the RU application) :

Prerequisite check "CheckMinimumOPatchVersion" failed.
The details are:
The OPatch being used has version 12.2.0.1.6 while the following patch(es) require higher versions:
Patch 27105253 requires OPatch version 12.2.0.1.7.
Please download latest OPatch from My Oracle Support.

I then updated opatch properly :

[grid@exadata_db01 grid]$ unzip -o /software/oracle/p6880880_122010_Linux-x86-64.zip -d /u01/app/12.2.0.1/grid
. . .

[grid@exadata_db01 grid]$ OPatch/opatch version
OPatch Version: 12.2.0.1.12

OPatch succeeded.
[grid@exadata_db01 grid]$ 

And restarted the Jan2018 RU application against my GI Home :

[grid@exadata_db01 grid]$ ./gridSetup.sh -applyPSU /software/oracle/27100009 -silent

ERROR: The home is not clean. This home cannot be used since there was a failed OPatch execution in this home. Use a different home to proceed.

[grid@exadata_db01 grid]$ 

What this error could really mean ? Well I found the note "Executing "gridSetup.sh" Fails with "ERROR: The home is not clean" (Doc ID 2279633.1)" which gives us the solution :

The only way to get around this issue currently is to clean the contents out of that HOME (e.g. rm -Rf ), then re-unzip the Grid Infrastructure 12.2.0.1 Gold Image on local node into the NEW_GRID_HOME path as GRID_HOME user.

It clearly means that for any failed installation (even if due to a wrong opatch version), we'll have to remove the whole installation and re-install GI from scratch !
Please note that this behavior may change in the future as the "currently" suggests.

In the meantime, do not forget to create a Gold Image of your home before applying a patch !

[grid@exadata_db01 grid]$ ./gridSetup.sh -createGoldImage -destinationLocation /software/oracle/GI12.2_opatch_12.2.0.1.12 -silent
Launching Oracle Grid Infrastructure Setup Wizard...

Successfully Setup Software.
Gold Image location: /software/oracle/GI12.2_opatch_12.2.0.1.12/grid_home_2018-04-10_09-24-46PM.zip

[grid@exadata_db01 grid]$

Hope it helps !

3 comments:

  1. Thank you, I had the same issue, I've dowloanded the wrong opatch utility and needed to redo all my workd... :S

    ReplyDelete
  2. I am trying to see if it works

    ReplyDelete

OCI: Datapump between 23ai ADB and 19c ADB using database link

Now that we know how to manually create a 23ai ADB in OCI , that we also know how to create a database link between a 23ai ADB and a 19C AD...