Friday, May 31, 2019

Why Opatch Auto is not applying PSU on Database Home?

To apply a PSU we can download the required PSU and apply using “opatch apply” command of OPATCH utility. In RAC environment or Oracle restart environment (single node Grid Infrastructure installation), we would need to download “GI PSU” to patch the Grid Infrastructure home. We have option to download and apply “GI PSU” patch to both GI and RDBMS homes as well because GI PSU contains patch for both homes. In this case we use “opatch auto” (for 11g) or “opatchauto” (for 12c and above) command to be run as root user so that path can be applied on both homes. 

Recently I was applying a “GI PSU” to my home using “opatch auto” but it applied patch only on Grid Infrastructure home and RDBMS home was not patched. After some research investigation, I realized that there is not database running (and registered with CRS/OHS) and that is why opatch was not able to identify the RDBMS home and apply PSU to the DBMS home. To solve the problem when there is currently no database running from RDBMS home and you want to apply patch to this home along with GI Home, we have 2 options.
If a database is running and yet RDBMS homes was skipped during patch, it means database might not be registered with the CRS/HAS. Use this article to learn how to add/register a database to CRS/HAS.
  1. Create a dummy database so that “opatch auto” can identify RDBMS home from the registered database and then it can apply PSU to both GI and RBDMS home.
  2. Use “opatch auto” with –oh option to specify RDBMS home location, and then specify the patch directory location (“GI PSU” contains PSU for RDBMS and we need to specify that patch directory here). From 12c, we need to use option “-phBaseDir to specify patch directory.
  3. Lastly, patch both homes separately by downloading RDBMS patch.

No comments:

Post a Comment

Popular Posts - All Times