DataGuard 相关视图

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:逻辑备库。
    • SNAPSHOT STANDBY:快照备库。
  • protection_mode:保护模式,可能的值包括:
    • MAXIMUM AVAILABILITY:最大可用性。
    • MAXIMUM PROTECTION:最大保护。
    • MAXIMUM PERFORMANCE:最大性能。
    • RESYNCHRONIZATION:重新同步模式。
    • UNPROTECTED:未受保护(数据库处于挂载状态)。
  • protection_level:与 protection_mode 相同。
2. v$standby_log

查询 standby redo log 的日志信息。

SELECT group#, sequence#, archived, status FROM v$standby_log;
  • group#:日志组编号。
  • sequence#:日志序列号。
  • archived:是否已归档。
  • status:日志状态,可能的值包括:
    • UNUSED:未使用。
    • CURRENT:当前正在使用的日志。
    • ACTIVE:活动但不是当前的日志。
    • INACTIVE:不活跃的日志。

在最大保护模式和最高可用模式下,备库必须要有 standby redo log。

3. v$managed_standby

查询备库的进程状态(在备库上执行)。

SELECT process, pid, status, sequence# FROM v$managed_standby;
  • process:进程类型,可能的值包括:
    • ARCH:归档进程。
    • MRP0:介质恢复进程,用于应用接收到的日志。如果没有该进程,代表没有开启实时应用。
    • RFS:远程文件服务器进程,接收远程日志文件。如果没有该进程,备库不会接收日志文件。
  • pid:操作系统进程号。
  • status:进程状态,可能的值包括:
    • ARCH-CONNECT:与主库的归档建立了连接。
    • ARCH-CLOSING:进程已经完成了归档,并且关闭了归档日志文件。
    • ARCH-WRITING:进程正在写 redo 数据到归档日志文件。
    • MRP0-APPLYING_LOG:正在应用日志到备库,开启实时应用。
    • MRP0-WAIT_FOR_LOG:等待归档日志完成(开启非实时应用,或者主备之间不通)。
  • sequence#:当前归档日志序列号,可以查询 archive log list
4. v$archived_log

查询归档日志信息。

SELECT * FROM v$archived_log;
  • applied:日志文件是否已经应用,数据文件是否已经更新。
    • YES:日志文件已经应用,数据文件已经更新。
    • IN-MEMORY:日志文件已经应用,但数据文件还未更新。
5. v$archive_gap

查询哪些日志没有同步(用得少)。

SELECT * FROM v$archive_gap;
6. v$dataguard_status

查询 DataGuard 的状态信息。

SELECT * FROM v$dataguard_status;
7. v$archive_dest

查询归档日志的目的地(在主库上执行)。

SELECT * FROM v$archive_dest;
8. v$archive_dest_status

查询归档路径的状态(在主库上执行)。

SELECT * FROM v$archive_dest_status;
  • STATUS:归档路径的状态,可能的值包括:
    • VALID:有效。
    • INACTIVE:非活动的。
    • DEFERRED:手工禁用。
    • ERROR:归档错误。
  • ERROR:如果不同步,可以通过该字段查看原因。
9. v$log

查询在线重做日志的信息。

SELECT * FROM v$log;
  • group#:日志组编号。
  • sequence#:日志序列号。
  • bytes:日志文件大小。
  • members:日志成员数。
  • status:日志状态,可能的值包括:
    • UNUSED:未使用。
    • CURRENT:当前正在使用的日志。
    • ACTIVE:活动但不是当前的日志。
    • INACTIVE:不活跃的日志。
10. v$logfile

查询所有日志文件的信息,包括在线重做日志和 standby 日志文件。

SELECT * FROM v$logfile;
  • group#:日志组编号。
  • member:日志文件路径。
  • status:日志文件状态,可能的值包括:
    • VALID:有效。
    • INVALID:无效。
    • RECOVER:需要恢复。
11. v$log_history

查询日志历史信息。

SELECT * FROM v$log_history;
  • sequence#:日志序列号。
  • first_change#:第一个变更号。
  • next_change#:下一个变更号。
  • first_time:日志开始时间。
  • next_time:日志结束时间。
12. v$dataguard_stats

查询 DataGuard 统计信息。

SELECT * FROM v$dataguard_stats;
  • name:统计项名称。
  • value:统计值。
13. v$dataguard_config

查询 DataGuard 配置信息。

SELECT * FROM v$dataguard_config;
  • db_unique_name:数据库唯一名称。
  • role:数据库角色。
  • protection_mode:保护模式。
  • protection_level:保护级别。
14. v$dataguard_process

查询 DataGuard 进程信息。

SELECT * FROM v$dataguard_process;
  • process:进程名称。
  • status:进程状态。
  • pid:操作系统进程号。

总结

通过这些视图,可以监控和管理 DataGuard 环境中的各种状态和配置。以下是一些常用的查询示例:

  • 查询数据库基本信息

    SELECT name, open_mode, database_role, protection_mode, protection_level FROM v$database;
    
  • 查询 standby redo log 信息

    SELECT group#, sequence#, archived, status FROM v$standby_log;
    
  • 查询备库进程状态

    SELECT process, pid, status, sequence# FROM v$managed_standby;
    
  • 查询归档日志信息

    SELECT * FROM v$archived_log;
    
  • 查询归档路径状态

    SELECT * FROM v$archive_dest_status;
    
  • 查询在线重做日志信息

    SELECT * FROM v$log;
    
  • 查询所有日志文件信息

    SELECT * FROM v$logfile;
    
  • 查询日志历史信息

    SELECT * FROM v$log_history;
    
  • 查询 DataGuard 统计信息

    SELECT * FROM v$dataguard_stats;
    
  • 查询 DataGuard 配置信息

    SELECT * FROM v$dataguard_config;
    
  • 查询 DataGuard 进程信息

    SELECT * FROM v$dataguard_process;
    

希望这个文档能够让你了解 DataGuard 相关的视图,并帮助你更好地管理和监控 DataGuard 环境。如果有任何进一步的补充,请告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值