【DG】DataGuard健康檢查 for 11g

恩強Boy發表於2020-07-17

一、  主庫檢查命令

1. 主庫 dg 環境的保護模式檢查

SQL> select db_unique_name,database_role, protection_mode,switchover_status from v$database;

DB_UNIQUE_NAME    DATABASE_ROLE     PROTECTION_MODE       SWITCHOVER_STATUS

---------------- ---------------- -------------------- --------------------

ORCL                PRIMARY            MAXIMUM PERFORMANCE  TO STANDBY

上述結果顯示:主庫db_unique_name ORCL ;角色為主庫;保護模式為最大效能;切換狀態為可以切備庫。

2. 主庫上檢視設定的歸檔日誌路徑是否可用

SQL> select dest_name,status,error from v$archive_dest;

該檢視使用者檢視本地和遠端的歸檔日誌路徑是否可用,如果遠端的歸檔日誌路徑不可用,在ERROR 列會有相應報錯

3. 主庫上檢視 DG 的狀態資訊

SQL> set linesize 300

SQL> set pagesize 1000

SQL> col message for a100

SQL> select to_char(timestamp,'DD-mm-YYYY HH24:MI:SS') time,message FROM v$dataguard_status;

4. 主庫上檢視 DG 環境程式的狀態

SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;

ARCH 程式:用於主庫上覆制 redo log ,從而生成歸檔日誌,當前狀態為 CLOSING 表示該程式目前正在複製 redo log ,我們在引數檔案中設定了該程式的數量上限是 4

LNS 程式: lns 從主庫端日誌緩衝區中讀取相同的重做記錄,透過 oracle net 服務傳給備用資料庫,備用資料庫上的 rfs 接收重做資料,然後將其寫入備用重做日誌檔案中

二、  備庫檢查命令

1. 備庫上檢視 DG 環境特有程式的狀態

SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;

RFS 程式:用於備庫接收從主庫 LNS 程式或 ARCH 程式投遞過來的歸檔日誌

ARCH :用於複製從主庫上同步過來的歸檔日誌

MRP0 :用於應用歸檔日誌

2.  備庫上檢視DG 環境的狀態資訊

SQL> set linesize 300

SQL> set pagesize 1000

SQL> col message for a100

SQL> select message_num,message from v$dataguard_status;

3. 備庫端檢視日誌是否應用

SQL> select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;

如果發現備庫歸檔日誌的編號不連續,則需要到主庫去對照主庫的歸檔日誌編號,找到主庫上已經歸檔但卻沒有同步到備庫上的那些歸檔日誌手動複製過來,並將其註冊到備庫內,註冊歸檔日誌的命令如下所示:

SQL> alter database register physical logfile '/arch/ 歸檔檔名’

然後再重新開啟備庫的應用歸檔日誌程式

4. 備庫上檢視歸檔日誌有沒有 斷檔

SQL> select * from v$archive_gap;

如果DG 環境日誌同步正常,則不會查到任何記錄。如果查出結果,則說明目前的DG 環境歸檔日誌傳遞有斷檔。

 

 

 

------ end ------

 

 

 


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

相關文章