Some notes about Grid Infrastructure PSU 12.1.0.1.2

I’m creating a new 12c RAC environment from scratch, Ii just want to track a few notes (primarily for my personal use ;-)) about the _PSU.

The opatch utility bundled with the GI does not contain the emocmrsp, so it is necessary to install the latest opatch (6880880).

The patching process can patch both GI and RAC homes at once, but if you don’t have a valid database registered, an error is raised:

So you need to patch the Oracle Homes individually if it’s a new installation.

Remind that:

  • The patch must be unzipped by the oracle/grid user in a directory readable to oracle and root (or it will fail with Argument(s) Error… Patch Location not valid) or other funny errors (permission denied errors in the middle of the patch process)
  • Must be applied by the root user
  • Must be applied individually and on every node, one node at time.
  • The opatchauto executable must belong to one of the OH you’re patching (so if you patch GI and RAC separately,  you have to use the correspondent opatch.

Grid:

RAC:

Cheers

Ludovico

The following two tabs change content below.

Ludovico

Principal Product Manager at Oracle
Ludovico is a member of the Oracle Database High Availability (HA), Scalability & Maximum Availability Architecture (MAA) Product Management team in Oracle. He focuses on Oracle Data Guard, Flashback technologies, and Cloud MAA.

10 thoughts on “Some notes about Grid Infrastructure PSU 12.1.0.1.2

  1. Hi , I am Patching oracle 12 c grid home (. ASM) with one of interim patch suggested by oracle support. But it is failed.

    Steps I follow
    .go to patch directory
    and from there
    opatch apply.

    I am getting error like could not load module ( patch_home/••••/libpatchgensh12.so.so.

    • Follow step by step the readme instructions of the patch. Usually you have to get the correct opatch version, set the environment properly, etc.
      If it does not work, I would suggest to use MOS to get a solution…

  2. Hello,

    I am getting this error in the logfile, while trying to use
    opatchauto to apply patch to a particular ORACLE_HOME

    2018-02-26 00:15:15,795 INFO [1] com.oracle.cie.common.util.reporting.CommonReporter – Reporting console output : Message{id=’null’, message=’The id for this session is C6VA’}
    2018-02-26 00:15:15,810 WARNING [1] com.oracle.glcm.patch.auto.credential.CredentialManager – Unable to locate credential for host lpdstexadb01

  3. [root@nodo1 ~]# export PATH=$PATH:/u01/app/12.1.0/grid/OPatch
    [root@nodo1 ~]# /u01/app/12.1.0/grid/OPatch/opatchauto apply /instaladores/parches/24917825 -analyze -oh /u01/app/12.1.0/grid

    OPatchauto session is initiated at Wed Feb 22 08:17:15 2017
    java.lang.UnsatisfiedLinkError: Can’t load library: /u01/app/12.1.0/grid/oui/lib/linux/liboraInstaller.so
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1798)
    at java.lang.Runtime.load0(Runtime.java:809)
    at java.lang.System.load(System.java:1080)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:364)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:128)
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
    at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:292)
    at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:223)
    at oracle.sysman.oii.oiix.OiixIniPair.(OiixIniPair.java:141)
    at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
    at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
    at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:346)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:304)
    at oracle.sysman.oii.oiix.OiixOraparam.canIgnoreBuildNumber(OiixOraparam.java:554)
    at oracle.sysman.oii.oiii.OiiiCompInstallID.toString(OiiiCompInstallID.java:1168)
    at oracle.sysman.oii.oiii.OiiiCompIdOhPair.calcHashCode(OiiiCompIdOhPair.java:234)
    at oracle.sysman.oii.oiii.OiiiCompIdOhPair.(OiiiCompIdOhPair.java:107)
    at oracle.sysman.oii.oiii.OiiiCompsXMLHandler.createCompIdOhPair(OiiiCompsXMLHandler.java:494)
    at oracle.sysman.oii.oiii.OiiiCompsXMLHandler.access$500(OiiiCompsXMLHandler.java:98)
    at oracle.sysman.oii.oiii.OiiiCompsXMLHandler$OiiiDepElementHandler.onStart(OiiiCompsXMLHandler.java:1601)
    at oracle.sysman.oix.oixs.OixsElementHandler.startElement(OixsElementHandler.java:140)
    at oracle.sysman.oix.oixs.OixsDefaultHandler.startElement(OixsDefaultHandler.java:109)
    at oracle.xml.parser.v2.XMLContentHandler.startElement(XMLContentHandler.java:182)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1635)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:458)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:404)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:244)
    at oracle.sysman.oii.oiii.OiiiInstallXMLReader.readComps(OiiiInstallXMLReader.java:324)
    at oracle.sysman.oii.oiii.OiiiInstallXMLReader.readComps(OiiiInstallXMLReader.java:232)
    at oracle.sysman.oii.oiii.OiiiInstallInventory.getCompOHListElement(OiiiInstallInventory.java:2307)
    at oracle.sysman.oii.oiii.OiiiAreaInventory.getAllCompsVect(OiiiAreaInventory.java:1057)
    at oracle.sysman.oii.oiii.OiiiAreaInventory.getTopLevelComps(OiiiAreaInventory.java:1877)
    at oracle.dbsysmodel.driver.sdk.productdriver.OUIDriver.writeHomeInfo(OUIDriver.java:545)
    at oracle.dbsysmodel.driver.sdk.productdriver.OUIDriver.getLocalInfo(OUIDriver.java:116)
    at com.oracle.glcm.patch.auto.db.product.inventory.ClusterInformationLoader.createLocalInfo(ClusterInformationLoader.java:253)
    at com.oracle.glcm.patch.auto.db.product.inventory.ClusterInformationLoader.getCrsVersion(ClusterInformationLoader.java:239)
    at com.oracle.glcm.patch.auto.db.product.inventory.ClusterInformationLoader.getCrsVersion(ClusterInformationLoader.java:209)
    at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.getUpdatedArg(SystemInfoGenerator.java:258)
    at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.main(SystemInfoGenerator.java:230)
    Exception in thread “main” java.lang.UnsatisfiedLinkError: no oraInstaller in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1116)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:380)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:128)
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
    at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:292)
    at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:223)
    at oracle.sysman.oii.oiix.OiixIniPair.(OiixIniPair.java:141)
    at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
    at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
    at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:346)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:304)
    at oracle.sysman.oii.oiix.OiixOraparam.canIgnoreBuildNumber(OiixOraparam.java:554)
    at oracle.sysman.oii.oiii.OiiiCompInstallID.toString(OiiiCompInstallID.java:1168)
    at oracle.sysman.oii.oiii.OiiiCompIdOhPair.calcHashCode(OiiiCompIdOhPair.java:234)
    at oracle.sysman.oii.oiii.OiiiCompIdOhPair.(OiiiCompIdOhPair.java:107)
    at oracle.sysman.oii.oiii.OiiiCompsXMLHandler.createCompIdOhPair(OiiiCompsXMLHandler.java:494)
    at oracle.sysman.oii.oiii.OiiiCompsXMLHandler.access$500(OiiiCompsXMLHandler.java:98)
    at oracle.sysman.oii.oiii.OiiiCompsXMLHandler$OiiiDepElementHandler.onStart(OiiiCompsXMLHandler.java:1601)
    at oracle.sysman.oix.oixs.OixsElementHandler.startElement(OixsElementHandler.java:140)
    at oracle.sysman.oix.oixs.OixsDefaultHandler.startElement(OixsDefaultHandler.java:109)
    at oracle.xml.parser.v2.XMLContentHandler.startElement(XMLContentHandler.java:182)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1635)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:458)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:404)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:244)
    at oracle.sysman.oii.oiii.OiiiInstallXMLReader.readComps(OiiiInstallXMLReader.java:324)
    at oracle.sysman.oii.oiii.OiiiInstallXMLReader.readComps(OiiiInstallXMLReader.java:232)
    at oracle.sysman.oii.oiii.OiiiInstallInventory.getCompOHListElement(OiiiInstallInventory.java:2307)
    at oracle.sysman.oii.oiii.OiiiAreaInventory.getAllCompsVect(OiiiAreaInventory.java:1057)
    at oracle.sysman.oii.oiii.OiiiAreaInventory.getTopLevelComps(OiiiAreaInventory.java:1877)
    at oracle.dbsysmodel.driver.sdk.productdriver.OUIDriver.writeHomeInfo(OUIDriver.java:545)
    at oracle.dbsysmodel.driver.sdk.productdriver.OUIDriver.getLocalInfo(OUIDriver.java:116)
    at com.oracle.glcm.patch.auto.db.product.inventory.ClusterInformationLoader.createLocalInfo(ClusterInformationLoader.java:253)
    at com.oracle.glcm.patch.auto.db.product.inventory.ClusterInformationLoader.getCrsVersion(ClusterInformationLoader.java:239)
    at com.oracle.glcm.patch.auto.db.product.inventory.ClusterInformationLoader.getCrsVersion(ClusterInformationLoader.java:209)
    at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.getUpdatedArg(SystemInfoGenerator.java:258)
    at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.main(SystemInfoGenerator.java:230)

    OPatchauto session completed at Wed Feb 22 08:17:16 2017
    Time taken to complete the session 0 minute, 1 second

    opatchauto bootstrapping failed with error code 1.

  4. Hi Dinesh,
    I did exactly what I’ve described in my post.
    Instead of patching everything in one command:
    (BOTH)# patchauto apply /tmp/psu/17735306 -ocmrf /home/oracle/ocm.rsp

    I’ve patched the two homes separately:
    (GI)# patchauto apply /tmp/psu/17735306 -oh /u01/app/12.1.0/grid -ocmrf /home/oracle/ocm.rsp
    (DB#) opatchauto apply /tmp/psu/17735306 -oh /u01/app/oracle/product/12.1.0/dbhome_1/ -ocmrf /home/oracle/ocm.rsp
    Cheers

    Ludo

  5. Hi

    Could you please clarify on the following statement
    “The patching process can patch both GI and RAC homes at once, but if you don’t have a valid database registered”
    I ran into the following issue
    System Configuration Collection failed: oracle.osysmodel.driver.crs.productdriver.ProductDriverException: PRCD-1061 : No database exists

    opatchauto failed with error code 2.

    I was told by Oracle Support the following

    HI

    The issue matches with a known bug and is being investigated in bug 17721403

    The bug is still being worked by Development, the workaround is to apply the patch manually with note 1594184.1 ”
    It appears that you overcame the issue and still went ahead and applied the patch with opatchauto. How was that database registration possible ,did that alone resolve the issue with you

    Thanks

  6. You could also have:
    Verifying the update…
    Make failed to invoke “/usr/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/oracle/db/product/12.1.0.1/JKO”….’/usr/bin/ld: final link failed: Bad value
    collect2: ld returned 1 exit status
    make: *** [/oracle/db/product/12.1.0.1/JKO/rdbms/lib/oracle] Error 1

    Solution for me: reboot the server and retry…

    Cheers
    jko

  7. Pingback: Multinode RAC 12c cluster on VirtualBox using linked clones | DBA survival BLOG

  8. Pingback: Some notes about Grid Infrastructure PSU 12.1.0.1.2 - Ludovico Caldara - Blogs - triBLOG

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.