-
補丁升級流程
-
補丁升級
- 停止集群備份家目錄
-
補丁升級
兩節(jié)點分別操作 cd /u01/app/19.3.0/grid/bin/ crsctl stop crs tar -zcvf /u01/app.tar.gz /u01/app /u01/app/19.0.0/grid/bin/crsctl start crs |
-
-
- 兩節(jié)點OPatch替換
-
--- 表示 root 用戶,$ 表示 Oracle 用戶提示符,(ASM1)$ 表示 grid 用戶 # cd /u01/app/19.3.0/grid # mv OPatch OPatch.bak20 # chown -R grid:oinstall /soft # unzip p6880880_19c_19.20_Linux-x86-64.zip # cp -r OPatch /u01/app/19.3.0/grid/ # chown grid:oinstall -R /u01/app/19.3.0/grid/OPatch su - grid cd /u01/app/19.3.0/grid/OPatch ./opatch version $ opatch version [grid@p19c01:/u01/app/19.3.0/grid/OPatch]$ ./opatch version OPatch Version: 12.2.0.1.39 OPatch succeeded. $ cd $ORACLE_HOME $ mv OPatch/ OPatch_bak20 su root chown -R oracle:oinstall /soft cp -r /soft/OPatch ./ cd OPatch ./opatch version [oracle@p19c01:/u01/app/oracle/product/19.3.0/db/OPatch]$ ./opatch version OPatch Version: 12.2.0.1.39 OPatch succeeded. [oracle@p19c01:/u01/app/oracle/product/19.3.0/db/OPatch]$ |
?
?
升級后:
r19c01(oracle)
?
?
r19c01(grid)
r19c02(oracle)
r19c02(grdi)
?
-
-
- 收集補丁信息(兩節(jié)點)
-
grid用戶
su - root chown grid:oinstall -R /soft su - grid $ORACLE_HOME/OPatch/opatch lsinventory > /soft/grid_patch.txt $ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/grid_patch.txt $ORACLE_HOME/OPatch/opatch lspatches >> /soft/grid_patch.txt |
oracle用戶
su - root chown oracle:oinstall -R /soft chown oracle:oinstall -R /OPatch su - oracle $ORACLE_HOME/OPatch/opatch lsinventory > /soft/oracle_patch.txt $ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/oracle_patch.txt $ORACLE_HOME/OPatch/opatch lspatches >> /soft/oracle_patch.txt |
-
-
- 補丁沖突驗證
-
cd /soft unzip 19c_19.20_Linux-x86-64.zip chmod -R ?777 35319490 我們可以下載readme文件查看 Grid: $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/35320081 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/35320149 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/35332537 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/35553096 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/33575402 Oracle: $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/35320081 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35319490/35320149 |
-
-
- 補丁空間驗證
-
Grid用戶查看 vi /soft/patch_list_gihome.txt cat ?/soft/patch_list_gihome.txt 下面的內(nèi)容是寫到/soft/patch_list_gihome.txt /soft/35319490/35320081 /soft/35319490/35320149 /soft/35319490/35332537 /soft/35319490/35553096 /soft/35319490/33575402 chown grid:oinstall -R /soft/patch_list_gihome.txt su - grid $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_gihome.txt Oracle用戶查看 su - root vi /soft/patch_list_dbhome.txt cat ?/soft/patch_list_dbhome.txt /soft/35319490/35320081 /soft/35319490/35320149 chown oracle:oinstall -R ?/soft/patch_list_dbhome.txt su - oracle $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_dbhome.txt |
?
?
?
?
-
- 補丁預(yù)演
root: /u01/app/oracle/product/19.3.0/db/OPatch/opatchauto apply ?/soft/35319490 ?-oh /u01/app/oracle/product/19.3.0/db ?-analyze /u01/app/19.3.0/grid/OPatch/opatchauto ?apply ?/soft/35319490 ?-oh /u01/app/19.3.0/grid ?-analyze |
?
?
-
-
- 組件檢查,無效對象檢查
-
su - oracle sqlplus / as sysdba spool /soft/database_invalid.sql set lines 200 pages 2000; show parameter name; col comp_id for a20; col version for a20; col status for a30; select comp_id,version,status from dba_registry; select owner,object_type,object_name from dba_objects where status<>'VALID'; spool off; |
-
- 補丁更新
可以grid和oracle同時打也可以分開打 |
首先檢測集群的狀態(tài),保證集群是正常工作的 su - oracle srvctl status database -d p19c0 如果沒啟動,記得啟動一下實例 srvctl start instance -d p19c0 -i p19c01 srvctl start instance -d p19c0 -i p19c02 可以在grid中查看 su - grid cd /u01/app/19.3.0/grid/bin crsctl status res -t |
接著我們按照readme的要求將OPatch的路徑加入到.bash_profile中 su - root vi .bash_profile export PATH=$PATH:$HOME/bin:/u01/app/19.3.0/grid/bin export PATH=$PATH:/u01/app/19.3.0/grid/OPatch source .bash_profile |
補丁沖突檢查 ?ps -ef | grep sqlplus //如果有sqlplus連進(jìn)去都需要殺掉,兩個節(jié)點都檢查 su - root export PERL5LIB=/u01/app/19.3.0/grid/perl/lib cd / opatchauto apply /soft/35319490 -analyze 給grid用戶打補丁 ?ps -ef | grep sqlplus export PERL5LIB=/u01/app/19.3.0/grid/perl/lib opatchauto apply /soft/35319490 ?ps -ef | grep sqlplus export PERL5LIB=/u01/app/19.3.0/grid/perl/lib /u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35319490 -oh /u01/app/19.3.0/grid -analyze ?ps -ef | grep sqlplus export PERL5LIB=/u01/app/19.3.0/grid/perl/lib /u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35319490 -oh /u01/app/19.3.0/grid 給oracle用戶打補丁 ?ps -ef | grep sqlplus export PERL5LIB=/u01/app/19.3.0/grid/perl/lib /u01/app/oracle/product/19.3.0/db/OPatch/opatchauto apply /soft/35319490 -oh /u01/app/oracle/product/19.3.0/db -analyze ?ps -ef | grep sqlplus export PERL5LIB=/u01/app/19.3.0/grid/perl/lib /u01/app/oracle/product/19.3.0/db/OPatch/opatchauto apply /soft/35319490 -oh /u01/app/oracle/product/19.3.0/db |
-
-
- 補丁檢查
-
opatch lsinventory |
-
-
- 回退補丁
-
opatchauto rollback /soft/35319490 |
-
-
打補丁
- 節(jié)點二打補丁
-
打補丁
chown oracle:oinstall -R /soft/35319490 首先檢測集群的狀態(tài),保證集群是正常工作的 su - oracle srvctl status database -d p19c0 如果沒啟動,記得啟動一下實例 srvctl start instance -d p19c0 -i p19c01 srvctl start instance -d p19c0 -i p19c02 可以在grid仲查看 cd /u01/app/19.3.0/grid/bin crsctl status res -t 接著我們按照readme的要求將OPatch的路徑加入到.bash_profile中 su - root vi .bash_profile PATH=$PATH:$HOME/bin:/u01/app/19.3.0/grid/bin export PATH=$PATH:/u01/app/19.3.0/grid/OPatch source .bash_profile 我們要將sqlplus進(jìn)程都退出 補丁沖突檢查 ?ps -ef | grep sqlplus //如果有sqlplus連進(jìn)去都需要殺掉,兩個節(jié)點都檢查 su - root chmod 660 /u01/app/oraInventory/ContentsXML/oui-patch.xml chown grid:oinstall -R /u01/app/oraInventory/ContentsXML/oui-patch.xml su - root cd / export PERL5LIB=/u01/app/19.3.0/grid/perl/lib opatchauto apply /soft/35319490 -analyze 打補丁 ?ps -ef | grep sqlplus export PERL5LIB=/u01/app/19.3.0/grid/perl/lib su - oracle cd $ORACLE_HOME/OPatch ./opatch lspatches |
opatchauto rollback /soft/33182768 opatchauto rollback ?/soft/33182768 -oh /u01/app/19.3.0/grid |
-
-
- 當(dāng)節(jié)點一打開后再進(jìn)行補丁注冊,編譯無效對象
-
將修改后的SQL文件加載到數(shù)據(jù)庫中 下表是針對獨立數(shù)據(jù)庫運行Datapatch實用程序的步驟,在一個節(jié)點執(zhí)行即可。 sqlplus / as sysdba startup upgrade quit cd $ORACLE_HOME/OPatch ./datapatch -verbose |
?查看patch set linesize 200; col STATUS format a20; col DESCRIPTION format a80; select PATCH_ID,PATCH_TYPE,STATUS,DESCRIPTION from dba_registry_sqlpatch; 查看是否有存在失效對象: col owner for a16 col object_name for a50 trunc col object_type for a20 trunc select owner,object_name,object_type from dba_objects where status != 'VALID'; --若有,執(zhí)行命令清空: @?/rdbms/admin/utlrp.sql |
-
-
- 打完補丁后檢查
-
crsctl query crs releasepatch crsctl query crs softwarepatch kfod op=patches |
-
-
- 檢查
-
啟動數(shù)據(jù)庫 startup 將修改后的SQL文件加載到數(shù)據(jù)庫中 下表是針對獨立數(shù)據(jù)庫運行Datapatch實用程序的步驟,在一個節(jié)點執(zhí)行即可。 sqlplus / as sysdba startup upgrade quit cd $ORACLE_HOME/OPatch ./datapatch -verbose ?查看patch set linesize 200; col STATUS format a20; col DESCRIPTION format a80; select PATCH_ID,PATCH_TYPE,STATUS,DESCRIPTION from dba_registry_sqlpatch; 查看是否有存在失效對象: col owner for a16 col object_name for a50 trunc col object_type for a20 trunc select owner,object_name,object_type from dba_objects where status != 'VALID'; --若有,執(zhí)行命令清空: @?/rdbms/admin/utlrp.sql |
-
補丁回退
- 節(jié)點一
su - root chown oracle:oinstall -R /soft chown oracle:oinstall -R /soft/35642822 /u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35642822-oh /u01/app/19.3.0/grid chown oracle:oinstall -R /soft chown oracle:oinstall -R /soft/35642822 /u01/app/oracle/product/19.3.0/db/OPatch/opatchauto rollback /soft/35642822-oh /u01/app/oracle/product/19.3.0/db |
-
- 節(jié)點二
su - root chown oracle:oinstall -R /soft chown oracle:oinstall -R /soft/35642822 /u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35642822-oh /u01/app/19.3.0/grid chown oracle:oinstall -R /soft chown oracle:oinstall -R /soft/35642822 /u01/app/oracle/product/19.3.0/db/OPatch/opatchauto rollback /soft/35642822-oh /u01/app/oracle/product/19.3.0/db |
-
- 回退之后檢查
select owner,object_type,object_name from dba_objects where status<>'VALID';? cd $ORACLE_HOME/rdbms/admin sqlplus / as sysdba @utlrp.sql select * from product_component_version;文章來源:http://www.zghlxwxcb.cn/news/detail-852212.html |
?文章來源地址http://www.zghlxwxcb.cn/news/detail-852212.html
到了這里,關(guān)于Oracle 19c RAC 補丁升級 補丁回退的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!