Friday, April 1, 2022

How to apply RU and one-off patches in single steps during 'runInstaller'

Step 1: Prepare the binary and patch folders.

Use additional subdirectory in $ORACLE_HOME/patch to avoid PatchSearch.xml file overwritten after unzip.

unzip -q V982063-01.zip -d /u01/db
rm -rf /u01/db/OPatch
unzip -q p6880880_190000_Linux-x86-64.zip -d /u01/db
mkdir /u01/db/patch
unzip -q p32900021_190000_Linux-x86-64.zip -d /u01/db/patch/32900021/
unzip -q p31335037_190000_Linux-x86-64.zip -d /u01/db/patch/31335037
unzip -q p31335142_190000_Generic.zip -d /u01/db/patch/31335142

Step 2: Run the installer with "applyRU" and "applyOneOffs" parameters.

  • RU is the database RU patch, instead of the combo (RU+OJVM) patch.
  • Multiple one-off patches seperated by comma (,)
cd /u01/db
./runInstaller -applyRU patch/32900021/32900021/32904851 \
    -applyOneOffs patch/31335037/31335037,patch/31335142/31335142 \
    -silent -ignorePrereqFailure -waitforcompletion \
    oracle.install.option=INSTALL_DB_SWONLY \
    UNIX_GROUP_NAME=oinstall \
    INVENTORY_LOCATION=/u01/app/oraInventory \
    ORACLE_HOME=/u01/db \
    ORACLE_HOME_NAME='OraDB19Home1' \
    ORACLE_BASE=/u01/app/oracle \
    oracle.install.db.InstallEdition=EE \
    oracle.install.db.OSDBA_GROUP=dba \
    oracle.install.db.OSOPER_GROUP=oper \
    oracle.install.db.OSBACKUPDBA_GROUP=dba \
    oracle.install.db.OSDGDBA_GROUP=dba \
    oracle.install.db.OSKMDBA_GROUP=dba \
    oracle.install.db.OSRACDBA_GROUP=dba \
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
    DECLINE_SECURITY_UPDATES=true
[oracle@ip-10-1-4-62 stage]$ cd /u01/db
[oracle@ip-10-1-4-62 db]$ ./runInstaller -applyRU patch/32900021/32900021/32904851 \
>     -applyOneOffs patch/31335037/31335037,patch/31335142/31335142 \
>     -silent -ignorePrereqFailure -waitforcompletion \
>     oracle.install.option=INSTALL_DB_SWONLY \
>     UNIX_GROUP_NAME=oinstall \
>     INVENTORY_LOCATION=/u01/app/oraInventory \
>     ORACLE_HOME=/u01/db \
>     ORACLE_HOME_NAME='OraDB19Home1' \
>     ORACLE_BASE=/u01/app/oracle \
>     oracle.install.db.InstallEdition=EE \
>     oracle.install.db.OSDBA_GROUP=dba \
>     oracle.install.db.OSOPER_GROUP=oper \
>     oracle.install.db.OSBACKUPDBA_GROUP=dba \
>     oracle.install.db.OSDGDBA_GROUP=dba \
>     oracle.install.db.OSKMDBA_GROUP=dba \
>     oracle.install.db.OSRACDBA_GROUP=dba \
>     SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
>     DECLINE_SECURITY_UPDATES=true
Preparing the home to patch...
Applying the patch patch/32900021/32900021/32904851...
Successfully applied the patch.
Applying the patch patch/31335037/31335037...
Successfully applied the patch.
Applying the patch patch/31335142/31335142...
Successfully applied the patch.
The log can be found at: /tmp/InstallActions2022-04-01_09-39-27AM/installerPatchActions_2022-04-01_09-39-27AM.log
Launching Oracle Database Setup Wizard...

[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. installActions2022-04-01_09-39-27AM.log
   ACTION: Identify the list of failed prerequisite checks from the log: installActions2022-04-01_09-39-27AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/db/install/response/db_2022-04-01_09-39-27AM.rsp

You can find the log of this install session at:
 /tmp/InstallActions2022-04-01_09-39-27AM/installActions2022-04-01_09-39-27AM.log

As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/db/root.sh

Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes: 
[mydb.dbaglobe.com]
Execute /u01/db/root.sh on the following nodes: 
[mydb.dbaglobe.com]

Successfully Setup Software with warning(s).
Moved the install session logs to:
 /u01/app/oraInventory/logs/InstallActions2022-04-01_09-39-27AM

In the event of 19.11 onwards, including OJVM patch part of "applyOneOffs", you may hit following errors:

You can find the log of this install session at:
 /tmp/InstallActions2022-04-01_08-57-27AM/installActions2022-04-01_08-57-27AM.log
[FATAL] Error in invoking target 'irman ioracle idrdactl idrdalsnr idrdaproc' of makefile '/u01/db/rdbms/lib/ins_rdbms.mk'. See '/tmp/InstallActions2022-04-01_08-57-27AM/installActions2022-04-01_08-57-27AM.log' for details.
Moved the install session logs to:
 /u01/app/oraInventory/logs/InstallActions2022-04-01_08-57-27AM

/u01/db/install/make.log

/u01/db/lib//libserver19.a(joxwtp.o): In function `jox_eujs_nowait':
joxwtp.c:(.text+0xf7b): undefined reference to `jox_eujs_nowait_'
make: *** [/u01/db/rdbms/lib/oracle] Error 1

In this case, take out OJVM patches out of the OneOffs, and apply it later using "opatch" after "runInstaller" completed successfully.

No comments:

Post a Comment