oracle data guard重建

oracle data guard重建

情况:
1、dg备库存在很大的归档gap,且主库已无归档日志;
2、主库的磁盘空间剩余量不多。

方式:删除备库,并使用rman的duplicate在线复制。

注:所有的操作都在备库执行。

1、备库取消日志应用

SYS@slave>alter database recover managed standby database cancel;

Database altered.

##查看数据文件路径
SYS@slave> select name from v$datafile;

##查看redo日志文件路径
SYS@slave> select member from v$logfile;

##查看控制文件路径
SYS@slave> select name from v$controlfile;

##查看归档日志文件路径
SYS@slave> archive log list;

2、关闭备库

SYS@slave>shutdown immediate

3、备份备库的文件(选择)

将备库的数据文件、redo日志文件、控制文件move到新建的backup文件夹,同时复制pfile文件,spfile文件到backup文件夹(相当于给备库做冷备);
删除归档文件

(注:如果备库磁盘空间充足,尽量不要直接删除备库的文件。)

4、将备库启动到nomount状态

SYS@slave> startup nomount

5、在备库上使用rman的duplicate进行复制

--连接rman
rman target sys/密码@master auxiliary sys/密码@slave

(注:master和slave为tnsnames.ora文件中配置的服务名。)


--使用duplicate复制
RMAN> duplicate target database for standby from active database nofilenamecheck;

附:使用duplicate时报错:ORA-19554,原因是rman 中设置备份通道设备类型为'SBT_TAPE',修改为'DISK'后,再重新duplicate即可。

RMAN> CONFIGURE CHANNEL DEVICE TYPE 'DISK';

6、开启备库,并启用日志实时应用

##打开备库
SYS@slave>alter database open;

##备库启用日志实时应用
SYS@slave>alter database recover managed standby database using current logfile disconnect from session;

7、检查备库

#查看备库运行模式
select open_mode,database_role from v$database;

#检查进程状态
SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;

#查看当前延迟情况
SELECT name, value, datum_time, time_computed FROM V$DATAGUARD_STATS  WHERE name like 'apply lag';

#查询表记录,确认数据是否实时同步
select max(t.create_time) from txs_pre_order t ;

–data guard删除,并重建完成–

谨记:心存敬畏,行有所止。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值