ORACLE DATAGUARD的主備庫同步,主要是依靠日志傳輸?shù)絺鋷?,備庫?yīng)用日志或歸檔來實現(xiàn)。當(dāng)主、備庫間日志傳輸出現(xiàn)GAP,備庫將不再與主庫同步。因此需對日志傳輸狀態(tài)進行監(jiān)控,確保主、備庫間日志沒有GAP,或發(fā)現(xiàn)GAP后及時處理。除了在告警日志中查看日志同步情況外,還可以通過查看相關(guān)視圖來對日志傳輸狀態(tài)進行監(jiān)控。
1、主、備庫查看當(dāng)前日志狀況
SELECT SEQUENCE#,STATUS FROM V$LOG;
2、備庫查看RFS接收日志和MRP應(yīng)用日志同步主庫情況
SELECT PROCESS, SEQUENCE#, STATUS, DELAY_MINS FROM V$MANAGED_STANDBY;
3、察看備庫是否和主庫同步
SELECT SEQUENCE#,STATUS FROM V$LOG;
SELECT ARCHIVED_THREAD#,ARCHIVED_SEQ#,APPLIED_THREAD#,APPLIED_SEQ# FROM V$ARCHIVE_DEST_STATUS;
4、備庫查看已經(jīng)歸檔的REDO
SELECT REGISTRAR,CREATOR,THREAD#,APPLIED,SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE#, COMPLETION_TIME FROM V$ARCHIVED_LOG;
5、備庫查看已經(jīng)應(yīng)用的REDO
SELECT THREAD#,SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE# FROM V$LOG_HISTORY;
6、主、備庫查看是否有GAP
SELECT STATUS,GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;
備庫查看
SELECT * FROM V$ARCHIVE_GAP;
主備庫查詢異常信息
SELECT T.STATUS,T.ERROR FROM V$ARCHIVE_DEST T;
【實驗總結(jié)】
通過上面這6種方法,都可以對主備庫間日志傳輸情況進行監(jiān)控。
如果日志傳輸出現(xiàn)代溝(GAP),就需要及時排查問題,必要時還可以采取手工處理GAP措施。
針對6
在主庫中查詢?nèi)笔У娜罩镜乃诼窂胶兔Q
SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 99 AND 109;
拷貝到備庫的相應(yīng)目錄
oracle@p1a:/home/oracle/arch>scp orcl_53716_710350416.log ss1:/home/oracle/archive_gap/
手工注冊日志文件。
SQL> ALTER DATABASE REGISTER LOGFILE '/home/oracle/archive_gap/orcl_53415_710350416.log';
Database altered.
再次查看
SQL> select * from v$archive_gap;
總結(jié)
以上所述是小編給大家介紹的關(guān)于Oracle Dataguard 日志傳輸狀態(tài)監(jiān)控問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
您可能感興趣的文章:- ORACLE DATAGUARD中手工處理日志v$archive_GAP的方法
- Oracle 11g Dataguard參數(shù)詳解
- Oracle刪除archivelog文件的正確方法
- Oracle WebLogic Server 12.2.1.2安裝部署教程
- oracle自動清理archivelog文件的具體方法
- Oracle數(shù)據(jù)庫由dataguard備庫引起的log file sync等待問題