Apply Rolling PSU Patch in Oracle Database 12c RAC Environment
Apply Rolling PSU Patch in Oracle Database 12c RAC Environment
The advantage of a RAC rolling upgrade is that it enables at least some instances of the RAC installation to be
available during the scheduled outage required for patch upgrades. Only the RAC instance that is currently being
patched needs to be brought down. The other instances can continue to remain available. This means that the
impact on the application downtime required for such scheduled outages is further minimized. Oracle’s opatch
utility enables the user to apply the patch successively to the different instances of the RAC setup.
Rolling upgrade of patches is currently available for one-off patches and PSU patches.
Rolling patch upgrades are not available for deployments where the Oracle Database software is shared
across the different nodes.
Before Opatchauto utility, we need to manually down the instance and cluster related services (prepatch.sh) before
applying rolling patch.
The GI patch includes updates for both the Clusterware home and Database home that can be applied in a rolling
fashion.
Step by step apply Rolling PSU Patch in Oracle Database 12c RAC environment:-
Description:-
In this article we are going to see Step by step Apply Rolling PSU Patch in Oracle Database 12c RAC environment
Download the latest the PSU patch for GRID and ORACLE_HOME:-
The patch 28349311 was the super seeded patch of database PSU patch.
The above PSU patch is rolling applicable and so involves minimal downtime.
Database Environment:-
For Node 1,
prod()
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
export ORACLE_HOME
ORACLE_BASE=/oracle/app/oracle
export ORACLE_BASE
ORACLE_SID=prod1
export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:.
export LD_LIBRARY_PATH
LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib:/lib
export LIBPATH
TNS_ADMIN=${ORACLE_HOME}/network/admin
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH:.
export PATH
For Node 2,
prod()
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
export ORACLE_HOME
ORACLE_BASE=/oracle/app/oracle
export ORACLE_BASE
ORACLE_SID=prod2
export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:.
export LD_LIBRARY_PATH
LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib:/lib
export LIBPATH
TNS_ADMIN=${ORACLE_HOME}/network/admin
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH:.
export PATH
Grid Env :-
For Node 1,
grid()
export ORACLE_SID=+ASM1
SQLPATH=/u01/app/oracle/scripts/sql:/u01/app/12.1.0.2/grid/rdbms/admin:/u01/app/ora
cle/product/12.1.0.2/db_1/rdbms/admin; export SQLPATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export
CLASSPATH
For Node 2,
grid()
export ORACLE_SID=+ASM2
SQLPATH=/u01/app/oracle/scripts/sql:/u01/app/12.1.0.2/grid/rdbms/admin:/u01/app/ora
cle/product/12.1.0.2/db_1/rdbms/admin; export SQLPATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export
CLASSPATH
opatch lsinventory
For Node 2,
opatch version
opatch lsinventory
Step 2:-Check the opatch version and inventory for GRID HOME on both nodes
For Node 1,
opatch version
opatch lsinventory
For Node 2,
opatch version
opatch lsinventory
For Node 2,
After copying to Node 2,check the new OPatch version in both GRID and ORACLE_HOME,
After upgrade the OPatch utility on both nodes apply the GRID and ORACLE_HOME PSU
patches.
Step 4:- Validation of Oracle Inventory
To check the GRID HOME inventory :-
opatch lsinventory -detail -oh /u01/app/12.1.0.2/grid
Before beginning patch application, check the consistency of inventory information for GI
home and each database home to be patched