确认当前数据库版本补丁号
select patch_id,action,status from dba_registry_sqlpatch;
确认Opatch版本号

-
Opatch 版本号
[oracle@19cdb OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.47
与Readme.txt中版本对应:

打补丁前流程
关闭OEM
两边节点
su -- oracle
cd AGENT路径
./emctl stop agent
检测是否开启EM,开启则暂停
su - oracle
echo $ORACLE_UNQNAME
emctl status dbconsole
$ORACLE_HOME/bin/emctl stop dbconsole
备份oracle_home
[oracle@19cdb OPatch]$ cd $ORACLE_HOME
[oracle@19cdb dbhome_1]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@19cdb dbhome_1]$ exit
logout
[root@19cdb soft]# cd /u01/app/oracle/product/19.3.0/
[root@rac1 19.3.0]# cd /u01/app/oracle/product/19.3.0/
[root@rac1 19.3.0]# tar -pzcvf /backup/oracle_home.tar.gz dbhome_1/
备份Central Inventory
[root@19cdb 19.3.0]# cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
cd /u01/app/
tar -pzcvf /home/oracle/opatch_bak/inventory.tar.gz oraInventory/
解压补丁包
unzip -d /soft p38326922_1928000DBRU_Generic.zip
cd /soft/38326922
-
检查情况
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
-
关闭数据库后进行打补丁
$ORACLE_HOME/OPatch/opatch apply ./
-
执行完成后进行应用,开启数据库后执行
shell
cd $ORACLE_HOME/OPatch
./datapatch