【UP_ORACLE】如何給Oracle DG打補丁(二)備庫安裝補丁步驟

Attack_on_Jager發表於2021-10-28

說明

1. 本博文指的Oracle DG是物理DG或者物理ADG,並非邏輯DG

2. 測試庫主庫例項名:testdb,備庫例項名:testdg


實驗環境

搭建平臺:VMware Workstation

OS:RHEL 6.10

Grid&DB:Oracle 11.2.0.4


備庫安裝補丁步驟

1. 禁用主庫的redo日誌傳輸

注:如果主庫是RAC,需要關閉歸檔,命令是alter database noarchivelog;

(1)使用DG Broker關閉日誌傳輸

$ dgmgrl sys/sys
DGMGRL> show database verbose testdb
Database
Name: testdb
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
testdb
Properties:
### 省略一部分輸出 ###
Current Status:
SUCCESS

 

DGMGRL> edit database plb_prm set state='LOG-TRANSPORT-OFF';

Succeeded.

 

(2)使用sqlplus關閉日誌傳輸

$ sqlplus / as sysdba
SQL> alter system set log_archive_dest_state_N=defer scope=both sid='*';

注:此引數N的範圍是1-29,比如log_archive_dest_state_1對應並控制的引數就是log_archive_dest_1,log_archive_dest_state_2對應並控制的引數就是log_archive_dest_2,以此類推

 

2. 在備庫打補丁

(1)停備庫監聽

$ lnsrctl stop

 

(2)停備庫(需要停DB例項和ASM例項)

單機ASM:

$ su - root
# crsctl stop has

 

單機非ASM:

$ sqlplus / as sysdba
SQL> shu immediate

 

RAC:

$ su - grid
$ srvctl stop listener -n node1 -l listener
$ srvctl stop listener -n node2 -l listener
$ su - root
# crsctl stop cluster -all
# crsctl stop has

 

(3)安裝補丁

1)更新OPatch 資料夾

下載6880880補丁,直接解壓替換$ORACLE_HOME/OPatch

 

2)開始安裝補丁

$ cd <補丁目錄>
$ $ORACLE_HOME/OPatch/opatch apply  --該命令僅供參考

注:

  • 在備庫中只安裝補丁到資料庫軟體,就不需要執行catupgrd.sql/catbundle.sql指令碼,因為這部分會透過重做日誌應用到備庫。

  • 補丁安裝方式需要參照補丁中README來,上面例子的只是打通用普通補丁的命令,僅供參考!

 

3)檢查補丁是否安裝成功

$ $ORACLE_HOME/OPatch/opatch lsinventory

 

4)啟動備庫監聽

$ lsnrctl start


5)啟動備庫

單機ASM:

$ su - root
# crsctl start has

 

單機非ASM:

$ sqlplus / as sysdba
SQL> startup

 

RAC:

$ su - grid
$ srvctl start listener -n node1 -l listener
$ srvctl start listener -n node2 -l listener
$ su - root
# crsctl start cluster -all

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2839514/,如需轉載,請註明出處,否則將追究法律責任。

相關文章