1.v$database
SELECT name,open_mode,database_role,protection_mode,protection_level FROM v$database;
其中:
open_mode :read write、read only、read only with apply、mounted
database_role :primary、physical standby、logical standby、sanpshot standby(快照standby)
protection_mode :maximun availability、maximum protection、maximum performance、resynchronization(重新同步模式,可在后台日志中看到)、unprotected(数据库处于mount状态)
protection_level :同protection_mode一样的
2.v$standby_log:查看standby redo log日志信息
通过v$log可以查看在线日志文件的信息,通过v$standby_log可以查询standby redo log的信息,通过v$logfile可以查看所有日志文件的信息,包括在线日志文件及standby日志文件。
SELECT group#,sequence#,archived,status FROM v$standby_log;
最大保护模式、最高可用模式,备库都必须要有standby redo log。
3.v$managed_standby:查看备库的进程状态(在备库查询)
在备库执行:
SELECT process,pid,status,sequence# FROM v$managed_standby;
其中:
process:--arch :归档进程;
--mrp0:media recovery process,用来应用接收日志,如果没有该进程就代表没有开启实时应用
--rfs :remote file server,接收远程日志文件的进程,如果没有该进程,备库不会接收日志文件
pid : 操作系统进程号
status : --arch-connect:代表和主库的归档建立了连接
--arch-closing:进程已经完成了归档,并且关闭了归档日志文件
--arch-writing:进程正在写redo数据到归档日志文件
--mrp0-applying_log:正在应用日志到备库,开启实时应用
--mrp0-wait_for_log :等待归档日志完成(开启非实时应用,或者主备之间不通)
arch-sequence#:代表当前归档日志序列号,可以查询SQL>archive log list
4.v$archived_log:查看归档日志信息
其中:
applied: YES:日志文件已经应用,数据文件已经更新
IN-MEMORY:日志文件已经应用,但数据文件还未更新。
5.v$archive_gap(用得少):查看有哪些日志没有同步
6.v$dataguard_status:查看dataguard的状态信息
7.v$archive_dest:查看归档日志的目的地(在主库执行)
8.v$archive_dest_status:查看归档路径的状态(在主库执行)
其中:
STATUS: --VALID :有效
--INACTIVE :非活动的
--DEFERRED:手工禁用
--ERROR:归档错误
ERROR:如果不同步,可以该字段查看原因。