• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何使用RMAN增量备份恢复dataguardloggap(日志断档)

mysql 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

主库查询最小scn 信息: SQL col current_scn for 999999999999999SQL SELECT CURRENT_SCN FROM V$DATABASE;select min(fhscn) from x$kcvfh;select min(f.fhscn) from x$kcvfh f, v$datafile dwhere f.hxfil =d.file#and d.enabled != READ ONLY ;CURRENT_S

主库查询最小scn 信息:

SQL> col current_scn for 999999999999999SQL> SELECT CURRENT_SCN FROM V$DATABASE;select min(fhscn) from x$kcvfh;select min(f.fhscn) from x$kcvfh f, v$datafile dwhere f.hxfil =d.file#and d.enabled != 'READ ONLY' ;CURRENT_SCN----------------12614205226673MIN(FHSCN)----------------12614205076072MIN(F.FHSCN)----------------12614205076072+++++++++++++++++++++++++++++++++++++++++++++++=

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

2.—-备库确定 lowest scn

col current_scn for 99999999999999SELECT CURRENT_SCN FROM V$DATABASE;select min(fhscn) from x$kcvfh;select min(f.fhscn) from x$kcvfh f, v$datafile dwhere f.hxfil =d.file#and d.enabled != 'READ ONLY' ;

取上述查询中的最小值

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

本文来源gaodai.ma#com搞##代!^码7网

n 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.txtset lines 200col name format a60select 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 操作,可以参考一下文档来恢复:
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 99999999999999SELECT CURRENT_SCN FROM V$DATABASE;select min(fhscn) from x$kcvfh;select min(f.fhscn) from x$kcvfh f, v$datafile dwhere f.hxfil =d.file#and d.enabled != 'READ ONLY' ;CURRENT_SCN---------------12614205662375MIN(FHSCN)----------------12614205076072MIN(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 是否有增长?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何使用RMAN增量备份恢复dataguardloggap(日志断档)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址