測試環境linux 2節點RAC19C 新環境安裝補丁比較簡單
RAC正常打補丁流程!
一.使用opatchauto opatchauto
1.節點1root執行會自動關閉當前節點db實例,自動打gi,oracle 軟件補丁
2.節點2root再執行;
3.最后數據庫執行應用腳本,補丁安裝完畢;
二.使用opatchauto opatchauto -oh $ORACLE_HOME OR $GRID_HOME
與11g版本相同
1.節點1 GI打
2.節點2 GI打
3.節點1 Oracle軟件打補丁
4.節點2 Oracle
5. DB執行腳本
正常流程
A
[root@d1 ~]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/oracle/30464035
[root@d2 ~]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/oracle/30464035
su - oracle
alter pluggable database all open
cd $ORACLE_HOME/OPatch
./datapatch -verbose
or
B
node1 root, node2 root
/u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/oracle/30464035 -oh /u01/app/19.0.0/grid
/u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/oracle/30464035 -oh /u03/app/oracle/product/19.0.0/db_1
su - oracle
alter pluggable database all open
cd $ORACLE_HOME/OPatch
./datapatch -verbose
=========================完畢!
1.本次測試環境打補丁不順利!
節點1執行,正常
[root@d2 ~]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/oracle/30464035
節點2執行,異常報錯
opatchauto failed with error code 42
--------------------------------------------------------------------------------------------------------
[Apr 2, 2020 3:33:06 PM] [INFO] Following active executables are not used by opatch process :
/u01/app/19.0.0/grid/bin/oracle
/u01/app/19.0.0/grid/bin/tnslsnr
/u01/app/19.0.0/grid/lib/libclntsh.so.19.1
/u01/app/19.0.0/grid/lib/libasmclntsh19.so
Following active executables are used by opatch process :
[Apr 2, 2020 3:33:06 PM] [INFO] Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Following active executables are not used by opatch process :
/u01/app/19.0.0/grid/bin/oracle
/u01/app/19.0.0/grid/bin/tnslsnr
/u01/app/19.0.0/grid/lib/libclntsh.so.19.1
/u01/app/19.0.0/grid/lib/libasmclntsh19.so
Following active executables are used by opatch process :
[Apr 2, 2020 3:33:06 PM] [SEVERE] OUI-67073:UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
==
# lsof | grep /u01/app/19.0.0/grid/bin/oracle
# lsof | grep /u01/app/19.0.0/grid/bin/tnslsnr
# lsof | grep /u01/app/19.0.0/grid/lib/libclntsh.so.19.1
# lsof | grep /u01/app/19.0.0/grid/lib/libasmclntsh19.so
# kill -9 PID
參考解決方法,kill進程無法解決,因為這些進程除非關閉crs!
Grid Infrastructure:OPatch apply (manual step) fails to apply patch because perl process is running (Doc ID 2409442.1)
https://blog.csdn.net/jycjyc/article/details/103083192
關閉crs在打補丁
關閉crs,打補丁無法使用opatchauto!
# /u01/app/19.0.0/grid/bin/crsctl stop crs -f
[root@d2 ~]# /u01/app/19.0.0/grid/bin/crsctl start crs
ManualSteps for Apply/Rollback Patch
See My Oracle Support Document 2246888.1for cases where opatchauto cannotbe used.
補丁回滾!
[grid@d2:/u01/oracle/30464035]$ /u01/app/19.0.0/grid/OPatch/opatch rollback -id 30446054
回滾失敗。導致集群節點2 crs無法啟動!
在打補丁的過程中,會對Lib等等進行備份修改,如果rollback失敗,將導致CRS無法啟動。
opatchauto apply /u01/media/patch/30133178/30116789 -oh /u01/app/19.5/grid |