ADG環(huán)境如何打PSU補(bǔ)丁?
一、前言

隨著Oracle ADG技術(shù)的逐漸成熟,大多數(shù)數(shù)據(jù)庫(kù)環(huán)境都使用ADG作為災(zāi)備和報(bào)表數(shù)據(jù)庫(kù),可以說(shuō)是標(biāo)配。
那么如果主數(shù)據(jù)庫(kù)由于BUG或者維護(hù),需要更新補(bǔ)丁,該如何去操作呢?
**本文參考MOS文檔:How do you apply a Patchset,PSU or CPU in a Data Guard Physical Standby configuration (Doc ID 278641.1)?? ?**
環(huán)境準(zhǔn)備:
Notes:ADG環(huán)境已提前搭建好,并已配置好 DG Broker。
二、流程
主要步驟如下:
1.主庫(kù)停止日志傳輸。 2.關(guān)閉備庫(kù),備庫(kù)應(yīng)用補(bǔ)丁程序,備庫(kù)啟動(dòng)mount,不開(kāi)啟日志應(yīng)用。 3.關(guān)閉主庫(kù),主庫(kù)應(yīng)用補(bǔ)丁程序。 4.開(kāi)啟主庫(kù),開(kāi)啟日志傳輸。 5.備庫(kù)開(kāi)啟日志應(yīng)用。 6.執(zhí)行檢查,確保補(bǔ)丁安裝成功。
詳細(xì)操作步驟如下:
1.主庫(kù)停止日志傳輸。
##如果已配置DG Broker dgmgrl sys/oracle@orcl edit database orcl set state='LOG-TRANSPORT-OFF'; ##未配置DG Broker SQL> alter system set log_archive_dest_state_2=defer scope=both sid='*';
2.關(guān)閉備庫(kù),備庫(kù)應(yīng)用補(bǔ)丁程序,備庫(kù)啟動(dòng)mount,不開(kāi)啟日志應(yīng)用。
a.關(guān)閉備庫(kù)實(shí)例,監(jiān)聽(tīng)
##Non-rac shutdown immediate lsnrctl stop ##rac srvctl stop database -d orcl srvctl stop listener srvctl stop scan_listner
b.替換OPatch
cd /u01/app/oracle/product/11.2.0/db/ mv OPatch/ OPatch0421 unzip -q /soft/p6880880_112000_Linux-x86-64.zip opatch version
c.應(yīng)用補(bǔ)丁程序(根據(jù)Readme操作)
unzip -q p31537677_112040_Linux-x86-64.zip cd 31537677 opatch prereq CheckConflictAgainstOHWithDetail -ph ./ opatch apply
如果opatch apply遇到warning,請(qǐng)參照:****11204打PSU時(shí)Warning:ins_emagent.mk `nmosudo`
d.開(kāi)啟備庫(kù)到mount
##已配置DG Broker,需要設(shè)置APPLY-OFF防止自動(dòng)開(kāi)啟日志應(yīng)用 edit database orcl_stby set state='APPLY-OFF'; ##Non-rac startup mount lsnrctl start ##rac srvctl start database -d orcl -o mount srvctl start listener srvctl start scan_listener
3.關(guān)閉主庫(kù),主庫(kù)應(yīng)用補(bǔ)丁程序。
可參照備庫(kù)補(bǔ)丁應(yīng)用過(guò)程,此處略過(guò)。
4.開(kāi)啟主庫(kù),開(kāi)啟日志傳輸。
a.開(kāi)啟主庫(kù),開(kāi)啟監(jiān)聽(tīng)
b.執(zhí)行PSU升級(jí)腳本
_關(guān)于catbundle腳本可參考:Introduction To Oracle Database catbundle.sql (Doc ID 605795.1)?? ?_
--執(zhí)行catbundle腳本 cd $ORACLE_HOME/rdbms/admin sqlplus / as sysdba @catbundle.sql psu apply --編譯無(wú)效對(duì)象 @utlrp.sql --執(zhí)行dbms_java_dev腳本 @dbmsjdev.sql exec dbms_java_dev.disable
c.開(kāi)啟日志傳輸
edit database orcl set state='ONLINE';
5.備庫(kù)開(kāi)啟日志應(yīng)用。
這將使通過(guò)catupgrade/catbundle/catcpu腳本對(duì)數(shù)據(jù)庫(kù)的改變被應(yīng)用到備庫(kù)。
##已配置DG Broker,打開(kāi)apply-on edit database orcl_stby set state='ONLINE'; ##備庫(kù)開(kāi)啟到read only,開(kāi)啟ADG alter database open;
6.執(zhí)行檢查,確保補(bǔ)丁安裝成功。
主庫(kù):
opatch lspatches select action_time,action,version,id,bundle_series,comments from dba_registry_history;
備庫(kù):
opatch lspatches select action_time,action,version,id,bundle_series,comments from dba_registry_history;
檢查ADG同步情況:
##已配置DG Broker show database orcl show database orcl_stby ##未配置DG Broker select process,group#,thread#,sequence# from v$managed_standby; select group#,thread#,sequence#,bytes/1024/1024,archived,status from v$standby_log;
主庫(kù)刪除test表一個(gè)記錄:
備庫(kù)查看是否同步:
備庫(kù)已實(shí)時(shí)刪除,ADG正常同步。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。