zoukankan      html  css  js  c++  java
  • 怎样使用 RMAN 增量备份恢复 data guard log gap(日志断档)

    主库查询最小scn 信息:
    SQL> col current_scn for 999999999999999
    SQL>  SELECT CURRENT_SCN FROM V$DATABASE;
     
     select min(fhscn) from x$kcvfh;
     
     select min(f.fhscn) from x$kcvfh f, v$datafile d
          where f.hxfil =d.file#
            and d.enabled != 'READ ONLY'     ;
         CURRENT_SCN
    ----------------
      12614205226673
      
    MIN(FHSCN)
    ----------------
    12614205076072
      
    MIN(F.FHSCN)
    ----------------
    12614205076072
     
    +++++++++++++++++++++++++++++++++++++++++++++++=


    1.----备库取消归档应用
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


    2.----备库确定 lowest scn
    col current_scn for 99999999999999
     SELECT CURRENT_SCN FROM V$DATABASE;

     select min(fhscn) from x$kcvfh;

     select min(f.fhscn) from x$kcvfh f, v$datafile d
          where f.hxfil =d.file#
            and d.enabled != 'READ ONLY'     ;

    取上述查询中的最小值

    SQL> col current_scn for 999999999999999999
    SQL> SELECT CURRENT_SCN FROM V$DATABASE;
     
            CURRENT_SCN
    -------------------
         12611050666604
     
    SQL> select min(fhscn) from x$kcvfh;
     
    MIN(FHSCN)
    ----------------
    12611050666605
     
    SQL>  select min(f.fhscn) from x$kcvfh f, v$datafile d
          where f.hxfil =d.file#
            and d.enabled != 'READ ONLY'     ;  2    3  
     
    MIN(F.FHSCN)
    ----------------
    12611050666605


    3.-----on primary db 端依据第2步中获取的最小scn 来进行增量备份
    BACKUP INCREMENTAL FROM SCN 12611050666604 DATABASE FORMAT '/lixora/ForStandby_%U' tag 'FORSTANDBY';


    4.-----拷贝备份到 备库
    $scp ForStandby_07pqprm4_1_1 192.168.0.10:/tmp


    5.----on standby db 在备库端注冊备份片,注意用户属主。权限
    RMAN> CATALOG START WITH '/lixora/ForStandby'; 


    6.----运行恢复
    RMAN> RECOVER DATABASE NOREDO; 




    7.-----on primary db 生成新的standby 控制文件
    RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/lixora/ForStandbyCTRL.bck';



    8.----把主库端生成的standby 控制文件复制到备库,注意用户属主。权限

    RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/lixora/ForStandbyCTRL.bck';
     
    scp /lixora/ForStandbyCTRL.bck 192.168.0.10:/tmp


    9.------备份备库数据文件信息,用于在恢复新的standby 控制文件后比对
    spool datafile_names_step8.txt
    set lines 200
    col name format a60
    select file#, name from v$datafile order by file# ;
    spool off


    10.------on standby Db 恢复新的standby  控制文件

    RMAN> SHUTDOWN IMMEDIATE ;
    RMAN> STARTUP NOMOUNT; 
    RMAN> RESTORE STANDBY CONTROLFILE FROM '/tmp/ForStandbyCTRL.bck'; 


    11.-----更新控制文件里的数据文件信息
    使新的standby 控制文件生效
    RMAN> SHUTDOWN; 
    RMAN> STARTUP MOUNT;

    CATALOG START WITH '+DATA/zhglptdg/datafile/';


    12.------on primary db。

    确保在备库发生日志gap 后,主库没有加入过新的数据文件。
    SELECT FILE#, NAME FROM V$DATAFILE WHERE CREATION_CHANGE# > 12611050666604;

    假设有记录。则不能进行witch 操作,能够參考一下文档来恢复:

     

    rman 增量恢复 dg gap后 主库加入新数据文件


    Note 1531031.1 Steps to perform for Rolling forward a standby database using RMAN incremental backup when datafile is added to primary


    13.-----重命名数据文件
    RMAN> SWITCH DATABASE TO COPY; 
     
     
    14.-----再次确认在恢复增量备份片后主库和备库scn 差距没有太大
     SQL> col current_scn for 99999999999999
     SELECT CURRENT_SCN FROM V$DATABASE;
     
     select min(fhscn) from x$kcvfh;
     
     select min(f.fhscn) from x$kcvfh f, v$datafile d
          where f.hxfil =d.file#
            and d.enabled != 'READ ONLY'     ;
            
     CURRENT_SCN
    ---------------
     12614205662375
     
    MIN(FHSCN)
    ----------------
    12614205076072
      
    MIN(F.FHSCN)
    ----------------
    12614205076072
     

    15.------ On standby database, 清理standby 日志组
    select * from v$standby_log;

    SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1; 
    SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2; 
    SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;


    16.------启动redo data apply
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

    假设遇到一些因为设置 nologgling 而导致部分数据丢失,能够安装下述方法来进行恢复
    To resolve NOLOGGING operations only, see Note 958181.1.   
    In addition to this information, see the online documentation:
    10.2:  http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/scenarios.htm#CIHIAADC
    11.1:  http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/rman.htm#SBYDB00759
    11.2: http://download.oracle.com/docs/cd/E11882_01/server.112/e17022/rman.htm#CIHIAADC


    后记
    假设要启用实时应用,须要在备库加入standby redo log,大小应和主库一样。且比主库多一组。


    ALTER DATABASE add standby LOGFILE GROUP 6 size 500M;
    ALTER DATABASE add standby LOGFILE GROUP 7 size 500M;
    ALTER DATABASE add standby LOGFILE GROUP 8 size 500M;
    ALTER DATABASE add standby LOGFILE GROUP 9 size 500M;


    启用命令:
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;


    详细内容參见: 

    oracle 10g standby database 实时应用 redo 数据


    怎样确保dg 已经正常,后台日志类似例如以下:
    Mon Dec 22 10:03:04 CST 2014
    RFS[1]: Archived Log: '+DATA/lixora/archivelog/1_23094_790186477.dbf'
    Mon Dec 22 10:03:25 CST 2014
    Media Recovery Log +DATA/lixora/archivelog/1_23094_790186477.dbf
    Media Recovery Waiting for thread 1 sequence 23095 (in transit)
    Mon Dec 22 10:05:53 CST 2014
    RFS[2]: Archived Log: '+DATA/lixora/archivelog/1_23095_790186477.dbf'
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[2]: No standby redo logfiles of size 1024000 blocks exist
    Mon Dec 22 10:05:55 CST 2014
    Media Recovery Log +DATA/zhglptdg/archivelog/1_23095_790186477.dbf
    Media Recovery Waiting for thread 1 sequence 23096 (in transit)
    Mon Dec 22 10:05:57 CST 2014
    RFS[2]: Archived Log: '+DATA/lixora/archivelog/1_23096_790186477.dbf'
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[2]: No standby redo logfiles of size 1024000 blocks exist
    Mon Dec 22 10:06:00 CST 2014
    Media Recovery Log +DATA/lixora/archivelog/1_23096_790186477.dbf
    Media Recovery Waiting for thread 1 sequence 23097 (in transit)




    类似一下日志,表明日志仅仅是传过来。可是没有应用:
    Tue Dec 16 17:28:48 CST 2014
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[3]: Successfully opened standby log 7: '+DATA/lixora/onlinelog/group_7.360.857131345'
    Tue Dec 16 18:57:12 CST 2014
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[3]: Successfully opened standby log 8: '+DATA/lixora/onlinelog/group_8.361.857131375'
    Tue Dec 16 20:12:13 CST 2014
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[3]: Successfully opened standby log 7: '+DATA/lixora/onlinelog/group_7.360.857131345'
    Tue Dec 16 21:40:39 CST 2014
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[3]: Successfully opened standby log 8: '+DATA/lixora/onlinelog/group_8.361.857131375'




    怎样能够确保dg 正常:
    1)v$archive_log.applied  是否为yes
    2)主库切换日志:ALTER system swtich logfile。
    看备库v$database.CURRENT_SCN 是否有增长?
  • 相关阅读:
    [ html canvas save restore ] canvas绘图 save restore 属性理论讲解
    [ html canvas save restore ] canvas绘图 save restore 属性实例演示
    [ html canvas 绘制文本 ] canvas绘图实现绘制文本 strokeText fillText方法及textAlign textBaseline font 属性实例演示
    [ html canvas 旋转 缩放 平移 ] canvas绘图实现旋转复制实例演示
    [ html canvas 绘制曲线三种方法 ] canvas绘图 绘制曲线三种方法属性实例演示
    context.quadraticCurveTo() context.bezierCurveTo()详解
    sphinx教程 区段查询配置 命令(2)
    sphinx安装测试2
    fabric教程(1)
    NLPIR使用(1)
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7346583.html
Copyright © 2011-2022 走看看