Oracle DG数据库gap处理一列

本文介绍了使用增量备份解决数据库dggap问题的步骤。主要包括确定SCN范围、基于SCN进行增量备份、创建备库控制文件、替换控制文件、进行增量恢复及复制应用等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本周遭遇数据库dg gap,通过增量备份进行修复,主要步骤如下:

1、确定增备scn范围,通过alert日志获取gap日志序列

[sql] view plain copy

  1. GAP - thread 1 sequence 109631-117170  

2、根据序列获取增备起点SCN

提示最小gap序列为109631, 往前推一个序列,然后获得scn号

[html] view plain copy

  1. select THREAD#,SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE# from v$archived_log where SEQUENCE#=109630;  
  2.    THREAD#  SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#  
  3. ---------- ---------- ------------- ------------  
  4.          1     109630    1606624354   1606624958  

3、在primary做基于该scn的增量备份及生成新的备库控制文件

增量备份数据库

[html] view plain copy

  1.   

export ORACLE_SID=xxx

##AIX

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2000 M; backup incremental from scn 1606624354 database format '/oradata/dgbackup/xxx/xxx_1606624354%U.bak'; 

在primary创建standby controlfile

[html] view plain copy

  1. alter database create standby controlfile as '/oradata/dgbackup/xxx/xxx01.ctl';        


4、备库关闭数据库,替换控制文件

关闭备库,备份当前备库控制文件

[html] view plain copy

  1. shutdown  immediate    
  2. mv     /oradata/xxx/control01.ctl    /oradata/xxx/control01.ctl.bak  

替换当前备库控制文件

[html] view plain copy

  1. cp  /oradata/dgbackup/xxx/xxx01.ctl   /oradata/xxx/control01.ctl  

5、启动备库进行增量恢复

[sql] view plain copy

  1. -----启动数据库到nomount          
  2. startup nomount;  
  3. ----启动数据库到mount  
  4. alter database mount standby database;  
  5.   
  6. -----rman增量恢复  
  7. catalog start with '/oradata/dgbackup/inscndbkf';    
  8. recover database noredo;  

6、启动备库复制应用

[sql] view plain copy

  1. sqlplus  / as sysdba  
  2. ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;  

转载于:https://my.oschina.net/u/3611008/blog/1816669

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值