【轉】有關dataguard的幾個查詢

msdnchina發表於2011-07-15

以下轉自:

5、常用維護SQL

查詢當前庫的角色和保護模式:
SQL> select database_role,db_unique_name,open_mode,protection_mode,protection_level,switchover_status,supplemental_log_data_pk,supplemental_log_data_ui from v$database;

主庫歸檔:
SQL> ALTER SYSTEM SWITCH LOGFILE; --對單例項資料庫或RAC中的當前例項執行日誌切換
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT; --對資料庫中的所有例項執行日誌切換

在備庫上,驗證一下傳過來的歸檔檔案:
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, APPLIED, completion_time FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

在主庫上,查詢待轉換standby庫的歸檔檔案是否連線:
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

如過上面查到存在不連續的歸檔,那查詢sequence 對應的歸檔檔案:
SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 7 AND 10;

查詢主備庫已歸檔檔案最大序號是否相同:
SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;

在備庫上,顯示備庫相關程式的當前狀態資訊:
SQL> select process,client_process,sequence#,status from v$managed_standby;

顯示歸檔檔案路徑配置資訊及redo apply情況:
SQL> select dest_name,archived_thread#,archived_seq#,applied_thread#,applied_seq#,db_unique_name
from v$archive_dest_status where status='VALID';

檢查應用模式(是否啟用了實時應用):
如果開啟了實時應用,則recovery_mode會顯示為:MANAGED REAL TIME APPLY。
SQL> select dest_id,DEST_NAME,STATUS,TYPE,DATABASE_MODE, recovery_mode from v$archive_dest_status;

顯示那些被自動觸發寫入alert.log或伺服器trace檔案的事件:
通常是在你不便訪問到伺服器查詢alert.log時,可以臨時訪問本檢視檢視一些與dataguard 相關的資訊。
SQL> select * from v$dataguard_status;

[@more@]

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

相關文章