zoukankan      html  css  js  c++  java
  • oracle--DG查询同步

    查询归档历史:

    SELECT  FIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#, SEQUENCE# FROM V$LOG_HISTORY;

    检查归档文件路径和创建信息

    SELECT NAME,CREATOR,SEQUENCE#,APPLIED,COMPLETION_TIME  FROM V$ARCHIVED_LOG; 

    查看进程的活动状态
    V$MANAGED_STANDBY视图专用于显示物理Standby数据库相关进程的
    当前状态,该视图中的列也很有特点,查看进程状态时,通常我们会关注
    PROCESS、CLIENT_PROCESS、SEQUENC#和STATUS几列,例如:

    SQL>  SELECT  PROCESS,CLIENT_PROCESS,SEQUENCE#,  STATUS  FROM
    V$MANAGED_STANDBY;
    PROCESS      CLIENT_P    SEQUENCE# STATUS
    --------- -------- ---------- ------------
    ARCH            ARCH                78     CLOSING
    ARCH            ARCH                79    CLOSING
    MRP0            N/A                    80    WAIT_FOR_LOG
    RFS              LGWR                80    IDLE
    RFS              ARCH                  0      IDLE
    RFS              N/A                     0      IDLE 

    相关说明:
    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数据中。

    查看最后应用的归档

    SELECT  THREAD#,  MAX(SEQUENCE#)  AS  "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;

       THREAD# LAST_APPLIED_LOG
    ---------- ----------------
         1           3104

      查看对应的应用状态
    SELECT THREAD#, SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG;
       THREAD#  SEQUENCE# APPLIED
    ---------- ---------- ---------
         1     3098 YES
         1     3099 YES
         1     3100 YES
         1     3101 YES
         1     3102 YES
         1     3103 YES
         1     3104 IN-MEMORY

    查看物理Standby数据库未接收的日志文件

    日志文件的发送是通过LOG_ARHIVE_DEST_N参数来控制,因此我们只需
    要对比本地生成的归档和远端生成的归档间差异即可。例如:
    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#);
     
       THREAD#  SEQUENCE#
    ---------- ----------
         1     3098
         1     3099
         1     3100
         1     3101
         1     3102
         1     3103
         1     3104

    监控日志应用服务

    查询当前数据的基本信息(v$database信息)
    select database_role,db_unique_name,open_mode,protection_mode,protection_level, switchover_status from v$database;  


    DATABASE_ROLE     DB_UNIQUE_NAME         OPEN_MODE
    ---------------- ------------------------------ --------------------
    PROTECTION_MODE      PROTECTION_LEVEL      SWITCHOVER_STATUS
    -------------------- -------------------- --------------------
    PHYSICAL STANDBY standby_oracle01        MOUNTED
    MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  NOT ALLOWED


    查看当前REDO应用和REDO传输服务的活动状态
    查询物理Standby 数据库当前REDO应用和REDO传输服务的状态非
    V$MANAGED_STANDBY视图莫属,例如:

     select  process,  status,  thread#,  sequence#,  block#,  blocks  from v$managed_standby;
    
    PROCESS   STATUS      THREAD#  SEQUENCE#     BLOCK#     BLOCKS
    --------- ------------ ---------- ---------- ---------- ----------
    ARCH      CONNECTED        0       0          0      0
    ARCH      CONNECTED        0       0          0      0
    ARCH      CONNECTED        0       0          0      0
    ARCH      CLOSING        1    3104       6144       1008
    ARCH      CONNECTED        0       0          0      0
    RFS      IDLE            0       0          0      0
    RFS      IDLE            0       0          0      0
    RFS      IDLE            1    3105       1596      1
    MRP0      APPLYING_LOG        1    3105       1596     163840


    检查应用模式(是否启用了实时应用)

    物理Standby数据库查询V$ARCHIVE_DEST_STATUS视图,如果打开了实
    时应用,则RECOVERY_MODE列会显示为:MANAGED REAL TIME APPLY,

    RECOVERY_MODE
    -----------------------
    IDLE


    Data Guard事件(V$DATAGUARD_STATUS)

    SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;
    
    MESSAGE
    --------------------------------------------------------------------------------
    ARC0: Archival started
    ARC1: Archival started
    ARC2: Archival started
    ARC3: Archival started
    ARC3: Becoming the 'no FAL' ARCH
    ARC2: Becoming the heartbeat ARCH
    ARC2: Becoming the active heartbeat ARCH
    ARC4: Archival started
    Managed Standby Recovery not using Real Time Apply
    RFS[1]: Assigned to RFS process 27418
    ARC3: Beginning to archive thread 1 sequence 3102 (14245665-14245874)
    
    MESSAGE
    --------------------------------------------------------------------------------
    ARC3: Completed archiving thread 1 sequence 3102 (0-0)
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[2]: Assigned to RFS process 27420
    Attempt to start background Managed Standby Recovery process
    MRP0: Background Managed Standby Recovery process started
    Managed Standby Recovery starting Real Time Apply
    Clearing online redo logfile 1 /u01/app/oracle/oradata/oracle01/redo01.log
    Clearing online redo logfile 1 complete
    Clearing online redo logfile 2 /u01/app/oracle/oradata/oracle01/redo02.log
    Clearing online redo logfile 2 complete
    Clearing online redo logfile 3 /u01/app/oracle/oradata/oracle01/redo03.log
    
    MESSAGE
    --------------------------------------------------------------------------------
    Clearing online redo logfile 3 complete
    Clearing online redo logfile 9 /u01/app/oracle/oradata/oracle01/redo05a.log
    Clearing online redo logfile 9 complete
    Media Recovery Log /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_3102_100
    0748999.dbf
    
    Media Recovery Waiting for thread 1 sequence 3103 (in transit)
    ARC3: Beginning to archive thread 1 sequence 3103 (14245874-14245930)
    ARC3: Completed archiving thread 1 sequence 3103 (0-0)
    Media Recovery Waiting for thread 1 sequence 3104 (in transit)
    MRP0: Background Media Recovery cancelled with status 16037
    
    MESSAGE
    --------------------------------------------------------------------------------
    Managed Standby Recovery not using Real Time Apply
    MRP0: Background Media Recovery process shutdown
    Managed Standby Recovery Canceled
    Attempt to start background Managed Standby Recovery process
    MRP0: Background Managed Standby Recovery process started
    Managed Standby Recovery starting Real Time Apply
    Media Recovery Waiting for thread 1 sequence 3104 (in transit)
    ARC3: Beginning to archive thread 1 sequence 3104 (14245930-14250924)
    ARC3: Completed archiving thread 1 sequence 3104 (0-0)
    Media Recovery Waiting for thread 1 sequence 3105 (in transit)
    
    41 rows selected.
    


    设置RECOVER并行度
    在介质恢复或REDO应用期间,都需要读取重做日志文件,默认都是串行
    复,我们可以在执行RECOVER的时候加上PARALLEL子句来指定并行度,
    高读取和应用的性能,例如:

    SQL> RECOVER STANDBY DATABASE PARALLEL 2 ;  

    查看保护模式

    SQL> select protection_mode,protection_level from v$database;
    PROTECTION_MODE            PROTECTION_LEVEL
    -------------------- --------------------
    MAXIMUM PERFORMANCE    MAXIMUM PERFORMANCE 
    
  • 相关阅读:
    091115 T UI生成的类
    090717 T OOD时的接口
    090713 T 数组不OO
    090723 T Code Generate 的思考
    091101 T IModel
    091018 CH 培训方法论总结
    090615 T 数据库范式
    写程序,逻辑优先!
    091117 T else if 的写法
    091015 CH 培训所想到的
  • 原文地址:https://www.cnblogs.com/kingle-study/p/10955393.html
Copyright © 2011-2022 走看看