• Data Guard启动实时日志应用


    1. REDO数据实时应用

    启动实时应用的优势在于,REDO数据不需要等待归档完成,接收到即可被应用,这样执行角色切换时,操作能够执行得更快,因为日志是被即时应用的。

    要启动实时应用也简单,前提是Standby数据库端配置了Standby Redologs。

    物理Standby要启用实时应用,要在启动REDO应用的语句后附加USING CURRENT LOGFIE子句,例如:

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE ; 

    2. 启动实时应用redo日志操作

    2.1添加standby redo log

    首先查询当前redo log的大小、位置;Standby redo的大小要和redo 的一致

    primary>col status format 'a10'
    primary>select group#,thread#,archived,status, bytes/1024/1024 from v$log;  
    
        GROUP#    THREAD# ARCHIVED    STATUS       BYTES/1024/1024
    ---------- ---------- --------- ---------- ---------------
         1        1 YES    INACTIVE        50
         2        1 NO    CURRENT         50
         3        1 YES    INACTIVE        50
    
    primary>col member format 'a35';
    primary>select group#,type, member from v$logfile;
    
        GROUP# TYPE          MEMBER
    ---------- --------------------- -----------------------------------
         1 ONLINE         /u01/app/oradata/ora234/redo01.log
         2 ONLINE         /u01/app/oradata/ora234/redo02.log
         3 ONLINE         /u01/app/oradata/ora234/redo03.log

    添加standby redo 操作;主库/备库都操作;
    主库操作原因;当发生故障;主备库发生切换;减少切换过程操作

    主库操作
    primary> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/home/oracle/oradata/redolog/std_redo04.log') size 50M;
    Database altered.
    
    primary> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/home/oracle/oradata/redolog/std_redo05.log') size 50M;
    Database altered.
    
    primary> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/home/oracle/oradata/redolog/std_redo06.log') size 50M;
    Database altered.
    
    primary> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/home/oracle/oradata/redolog/std_redo07.log') size 50M;
    Database altered.
    
    备库操作
    standby> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/home/oracle/oradata/redolog/std_redo04.log') size 50M;
    Database altered.
    
    standby> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/home/oracle/oradata/redolog/std_redo05.log') size 50M;
    Database altered.
    
    standby> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/home/oracle/oradata/redolog/std_redo06.log') size 50M;
    Database altered.
    
    standby> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/home/oracle/oradata/redolog/std_redo07.log') size 50M;
    Database altered.

    2.2修改主备库参数;

    启动实时应用日志;需采用lgwr模式;即应用redolog。不再是archivelog

    primary>alter system set LOG_ARCHIVE_DEST_2='SERVICE=tns_standby LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db_standby' ;
    
    System altered.
    
    standby>alter system set log_archive_dest_2='SERVICE=tns_primary LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db_primary';
    
    System altered.

    2.3启用实时StandBy端redo应用

    StandBy>alter database recover managed standby database using current logfile disconnect from session;
    
    取消实时应用:alter database recover managed standby database cancel;

    2.4验证结果

    primary>truncate table t;
    
    Table truncated.
    
    primary>insert into t values (1000);
    
    1 row created.
    
    primary>commit;
    
    Commit complete.
    
    
    standby>select * from t;
    
    no rows selected
    
    standby>select * from t;
    
        ID
    ----------
          1000
  • 相关阅读:
    android kl文件
    ELF文件结构描述
    jquery开头
    win7无声音显示“未插入扬声器或耳机” 怎么解决
    xhtml头文件设置
    break和continue的区别
    php目录函数
    mysql语法
    php中怎么导入自己写的类
    截取文件后缀名
  • 原文地址:https://www.cnblogs.com/lottu/p/7058774.html
Copyright © 2020-2023  润新知