zoukankan      html  css  js  c++  java
  • DG查看恢复进度

    查看恢复进度
    (1)查看进程的活动状态
    V$MANAGED_STANDBY视图专用于显示物理Standby数据库相关进程的当前状态,该视图中的列也很有特点,查看进程状态时,通常我们会关注PROCESS、CLIENT_PROCESS、SEQUENC#和STATUS几列,例如:
    SQL> SELECT PROCESS,CLIENT_PROCESS,SEQUENCE#, STATUS FROM V$MANAGED_STANDBY;
     
     
    相关说明:
    PROCESS:进程名称,如ARCH、RFS、MRP0等。
    CLIENT_P:对应的Primary数据库中的进程,如ARCH、LGWR等。
    SEQUENCE#:归档序号。
    STATUS:进程的当前状态,值较多,常见的有:
    1)ALLOCATED:正准备连接Primary数据库。
    2)ATTACHED:正在连接Primary数据库。
    3)CONNECTED:已连接至Primary数据库。
    4)IDLE:空闲中。
    5)RECEIVING:归档文件接收中。
    6)OPENING:归档文件处理中。
    7)CLOSING:归档文件处理完,收尾中。
    8)WRITING:REDO数据库写向归档文件中。
    9)WAIT_FOR_LOG:等待新的REDO数据中。
    10)WAIT_FOR_GAP:归档有中断,正等待中断的那部分REDO数据。
    11)APPLYING_LOG:应用REDO数据中。
     
     
    (2)检查REDO应用进度
    V$ARCHIVE_DEST_STATUS视图显示归档文件路径配置信息及REDO的应用情况等,例如:
    SQL> SELECT DEST_NAME,ARCHIVED_THREAD#,ARCHIVED_SEQ#,APPLIED_THREAD#,APPLIED_SEQ#,DB_UNIQUE_NAME 
    FROM V$ARCHIVE_DEST_STATUS WHERE STATUS='VALID';
     
     
    (3)检查归档文件路径和创建信息
    物理Standby数据库端可以通过查询V$ARCHIVED_LOG视图,获取归档文件的一些附加信息,如文件创建时间、创建进程、归档序号、是否被应用等,例如:
    SQL> SELECT NAME,CREATOR,SEQUENCE#,APPLIED,COMPLETION_TIME FROM V$ARCHIVED_LOG;
     
     
     
    (4)查询归档历史
    查询所有已被应用的归档文件信息(无论该归档文件是否还存在),例如:
    SQL> SELECT FIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#, SEQUENCE# FROM V$LOG_HISTORY;
     
     
    查询到最后应用的归档文件:
    SQL> SELECT THREAD#, MAX(SEQUENCE#) AS "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;
     
     
     
    当然也可以通过查询V$ARCHIVED_LOG视图中的APP列获得相同的功能,例如:
    SQL> SELECT THREAD#, SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG;
     
     
     
    (5)查看物理Standby数据库未接收的日志文件
    日志文件的发送是通过LOG_ARHIVE_DEST_N参数来控制,因此我们只需要对比本地生成的归档和远端生成的归档间差异即可。例如:
    SQL> 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#);
     
    说明: DEST_ID=N,N其实就是LOG_ARCHIVE_DEST_N参数中的那个N。
     
     
     
    (6)监控日志应用服务
    1) 查询当前数据的基本信息(v$database信息):如,查询数据库角色、保护模式、保护级别等:
    SQL> SELECT DATABASE_ROLE,DB_UNIQUE_NAME,OPEN_MODE,
     
    查询failover后快速启动的信息:
    SQL> SELECT FS_FAILOVER_STATUS,FS_FAILOVER_CURRENT_TARGET, FS_FAILOVER_THRESHOLD, FS_FAILOVER_OBSERVER_PRESENT FROM V$DATABASE;
     
     
    2) 查看当前REDO应用和REDO传输服务的活动状态
    查询物理Standby数据库当前REDO应用和REDO传输服务的状态非V$MANAGED_STANDBY视图莫属,例如:
    SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;
     
     
     
    3) 检查应用模式(是否启用了实时应用)
    物理Standby数据库查询V$ARCHIVE_DEST_STATUS视图,如果打开了实时应用,则RECOVERY_MODE列会显示为:MANAGED REAL TIME APPLY,例如:
    SQL> SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;
     
     
    4) Data Guard事件(V$DATAGUARD_STATUS)
    该视图显示那些被自动触发写入Alert.log或服务器Trace文件的事件。通常是在你不便访问到服务器查询Alert.log时,可以临时访问本视图查看一些与Data Guard相关的信息,例如:
    SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;
     
     
  • 相关阅读:
    记一次由于缓存导致的bug
    3 Task中的一些枚举 创建时候的、continue时候的
    2 Task中的延续和7种阻塞
    1 Task的简单实用
    关于内存溢出遇到的两种情况
    6 Wcf使用Stream传输
    5 wcf双工
    4 WCF中的RPC和OneWay
    3 WCF一些基础铺垫
    什么是三元表达式?“三元”表示什么意思?
  • 原文地址:https://www.cnblogs.com/l10n/p/9407301.html
Copyright © 2011-2022 走看看