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:
1 2 3 4 5 |
# opatchauto apply /root/psu/17735306 -ocmrf /home/oracle/ocm.rsp [...] System Configuration Collection failed: oracle.osysmodel.driver.crs.productdriver.ProductDriverException: PRCD-1061 : No database exists opatchauto failed with error code 2. |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
[root@rac1 psu]# opatchauto apply /tmp/psu/17735306 -oh /u01/app/12.1.0/grid -ocmrf /home/oracle/ocm.rsp OPatch Automation Tool Copyright (c) 2013, Oracle Corporation. All rights reserved. OPatchauto version : 12.1.0.1.2 OUI version : 12.1.0.1.0 Running from : /u01/app/12.1.0/grid opatchauto log file: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/17735306/opatch_gi_2014-02-13_17-49-19_deploy.log Parameter Validation: Successful User specified following Grid Infrastructure home: /u01/app/12.1.0/grid Configuration Validation: Successful Patch Location: /tmp/psu/17735306 Grid Infrastructure Patch(es): 17077442 17303297 17552800 RAC Patch(es): 17077442 17552800 Patch Validation: Successful Stopping CRS ... Successful Applying patch(es) to "/u01/app/12.1.0/grid" ... Patch "/tmp/psu/17735306/17077442" successfully applied to "/u01/app/12.1.0/grid". Patch "/tmp/psu/17735306/17303297" successfully applied to "/u01/app/12.1.0/grid". Patch "/tmp/psu/17735306/17552800" successfully applied to "/u01/app/12.1.0/grid". Starting CRS ... Successful Apply Summary: Following patch(es) are successfully installed: GI Home: /u01/app/12.1.0/grid: 17077442, 17303297, 17552800 opatchauto succeeded. |
RAC:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
[root@rac1 psu]# export PATH=/u01/app/oracle/product/12.1.0/dbhome_1/OPatch/:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@rac1 psu]# opatchauto apply /tmp/psu/17735306 -oh /u01/app/oracle/product/12.1.0/dbhome_1/ -ocmrf /home/oracle/ocm.rsp OPatch Automation Tool Copyright (c) 2013, Oracle Corporation. All rights reserved. OPatchauto version : 12.1.0.1.2 OUI version : 12.1.0.1.0 Running from : /u01/app/oracle/product/12.1.0/dbhome_1 opatchauto log file: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/17735306/opatch_gi_2014-02-13_18-12-10_deploy.log Parameter Validation: Successful User specified the following RAC home(s) for this session: /u01/app/oracle/product/12.1.0/dbhome_1 Configuration Validation: Successful Patch Location: /tmp/psu/17735306 Grid Infrastructure Patch(es): 17077442 17303297 17552800 RAC Patch(es): 17077442 17552800 Patch Validation: Successful Stopping RAC (/u01/app/oracle/product/12.1.0/dbhome_1) ... Successful Applying patch(es) to "/u01/app/oracle/product/12.1.0/dbhome_1" ... Patch "/tmp/psu/17735306/17077442" successfully applied to "/u01/app/oracle/product/12.1.0/dbhome_1". Patch "/tmp/psu/17735306/17552800" successfully applied to "/u01/app/oracle/product/12.1.0/dbhome_1". Starting RAC (/u01/app/oracle/product/12.1.0/dbhome_1) ... Successful [WARNING] The local database(s) on "/u01/app/oracle/product/12.1.0/dbhome_1" is not running. SQL changes, if any, cannot be applied. Apply Summary: Following patch(es) are successfully installed: RAC Home: /u01/app/oracle/product/12.1.0/dbhome_1: 17077442, 17552800 opatchauto succeeded. |
Cheers
—
Ludovico
The following two tabs change content below.
Latest posts by Ludovico (see all)
- New views in Oracle Data Guard 23c - January 3, 2024
- New in Data Guard 21c and 23c: Automatic preparation of the primary - December 22, 2023
- Does FLASHBACK QUERY work across incarnations or after a Data Guard failover? - December 13, 2023
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…
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
[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.
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
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
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
that’s a strange problem! maybe something was still locking a shared library or something else.
Glad that this post helped, anyway 🙂
Pingback: Multinode RAC 12c cluster on VirtualBox using linked clones | DBA survival BLOG
Pingback: Some notes about Grid Infrastructure PSU 12.1.0.1.2 - Ludovico Caldara - Blogs - triBLOG