DataGuard 之物理STANDBY 的監控與管理
1、監控恢復進度
1.1、檢視程序的活動狀態
SELECT PROCESS,CLIENT_PROCESS,SEQUENCE#,STATUS FROM V$MANAGED_STANDBY;
PROCESS CLIENT_P SEQUENCE# STATUS
--------- -------- ---------- ------------
ARCH ARCH 0 CONNECTED
ARCH ARCH 0 CONNECTED
Elapsed: 00:00:00.02
CLIENT_PROCESS 對應 Primary 資料庫中的程序如 ARCH\LGWR等
SEQUENCE#:歸檔序號
STATUS 當前程序狀態:
CONNECTED :已連線至 PRIMARY 資料庫
ALLOCATED: 正在準備連線PRIMARY資料庫
ATTACHED:正在連線PRIMARY資料庫
IDLE:空閒中
RECEIVING:正在接收歸檔檔案
OPENNING :正在處理歸檔檔案
CLOSING: 歸檔檔案已處理完,收尾中
WRITING: 正在向歸檔檔案中寫入redo資料
WAIT_FOR_LOG :正在等待新的REDO資料
WAIT_FOR_GAP:歸檔發生中斷,正在等待新的REDO 資料
APPLYING_LOG:正在應用REDO資料
1.2 檢視REDO應用進度
SELECT DEST_NAME,ARCHIVED_THREAD#,ARCHIVED_SEQ#,APPLIED_THREAD#,APPLIED_SEQ#,DB_UNIQUE_NAME,STATUS FROM V$ARCHIVE_DEST_STATUS
--WHERE STATUS='VALID'
DEST_NAME ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ# DB_UNIQUE_NAME STATUS
------------------------- ---------------- ------------- --------------- ------------ ------------------------------ ---------
LOG_ARCHIVE_DEST_1 0 0 0 0 cuuo VALID
LOG_ARCHIVE_DEST_2 0 0 0 0 cuug VALID
LOG_ARCHIVE_DEST_3 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_4 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_5 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_6 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_7 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_8 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_9 0 0 0 0 NONE INACTIVE
LOG_ARCHIVE_DEST_10 0 0 0 0 NONE INACTIVE
STANDBY_ARCHIVE_DEST 0 0 0 0 NONE VALID
11 rows selected.
1.3 檢視歸檔檔案的路徑及建立資訊
15:24:30 > SELECT NAME,CREATOR,THREAD#,SEQUENCE#,APPLIED,ARCHIVED,COMPLETION_TIME FROM V$ARCHIVED_LOG;
NAME CREATOR THREAD# SEQUENCE# APP ARC COMPLETIO
---------------------------------------- ------- ---------- ---------- --- --- ---------
/u01/app/oracle/oradata/cuuo/arch1_91_78 ARCH 1 91 YES YES 04-JUL-12
7689201.dbf
/u01/app/oracle/oradata/cuuo/arch1_92_78 LGWR 1 92 YES YES 04-JUL-12
7689201.dbf
/u01/app/oracle/oradata/cuuo/arch1_93_78 LGWR 1 93 YES YES 04-JUL-12
7689201.dbf
/u01/app/oracle/oradata/cuuo/arch1_94_78 LGWR 1 94 YES YES 04-JUL-12
7689201.dbf
1.4 檢視歸檔歷史
SELECT FIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#,SEQUENCE# FROM V$LOG_HISTORY;
1.5 檢視物理STANDBY資料庫未接收的日誌檔案
SELECT LOCAL.THREAD#,LOCAL.SEQUENCE# FROM
(SELECT THREAD#,SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) LOCAL
WHERE LOCAL.SEQUENCE# NOT IN
(SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND THREAD# = LOCAL.THREAD#);
----從primary 資料庫獲取
2 監控日誌應用服務
2.1 查詢當前資料的基本資訊(V$DATABASE) 資料庫角色、保護模式、保護級別
SELECT DATABASE_ROLE,DB_UNIQUE_NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS FROM V$DATABASE;
查詢failover後快速啟動的資訊:
SELECT FS_FAILOVER_STATUS,FS_FAILOVER_CURRENT_TARGET,FS_FAILOVER_THRESHOLD,FS_FAILOVER_OBSERVER_PRESENT FROM V$DATABASE;
2.2 查詢REDO應用和REDO傳輸服務的活動狀態
SELECT PROCESS,STATUS,THREAD#,SEQUENCE#,BLOCK#,BLOCKS FROM V$MANAGED_STANDBY;
2.3 檢視REDO應用模式(物理STANDBY資料庫)
SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;
RECOVERY_MODE
-----------------------
MANAGED
-----如果開啟了實時應用,此處顯示的狀態應該為 MANAGED REAL TIME APPLY
2.4 DATAGUARD 事件監控
2.4.1 ALERT LOG
2.4.2 查詢 V$DATAGUARD_STATUS 檢視
16:03:17 > SELECT SEVERITY,DEST_ID,MESSAGE_NUM,ERROR_CODE,CALLOUT,MESSAGE FROM V$DATAGUARD_STATUS;
SEVERITY DEST_ID MESSAGE_NUM ERROR_CODE CAL MESSAGE
------------- ---------- ----------- ---------- --- ----------------------------------------
Informational 0 1 0 NO ARC0: Archival started
Informational 0 2 0 NO ARC1: Archival started
Informational 0 3 0 NO ARC0: Becoming the 'no FAL' ARCH
Informational 0 4 0 NO ARC0: Becoming the 'no SRL' ARCH
Informational 0 5 0 NO ARC1: Becoming the heartbeat ARCH
Control 0 6 0 YES Media Recovery Start: Managed Standby Re
covery
Informational 0 7 0 NO Managed Standby Recovery not using Real
Time Apply
3.調整物理STANDBY端REDO資料應用頻率
3.1設定RECOVER並行度
在介質恢復或REDO應用期間都需要讀取redo log ,預設都是序列恢復,
可以在RECOVER的時候加上PARALLEL子句來指定並行度。
RECOVER STANDBY DATABASE PARALLEL 2;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE PARALLEL 2 DISCONNECT FROM SESSION;
3.2 加快REDO 應用頻率
修改 DB_BLOCK_CHECKING=FALSE 能夠提高2倍的應用效率,設定為FALSE只適合物理STANDBY資料庫,不適合primary資料庫。
3.3 設定 parallel_execution_message_size
如果打開了並行恢復,適當加大parallel_execution_message_size大小也可以提升效能,不過需要注意的事
增加該引數會佔用更多的記憶體。
3.3 優化磁碟I/O
恢復期間最大的效能瓶頸是I/O讀寫,某些情況下將 DISK_ASYNCH_IO設定為TRUE 即使用本地非同步I/O能夠降低並行讀取的次數,加快整個恢復時間。
轉載請註明出處及原文連結:
http://blog.csdn.net/xiangsir/article/details/8570386