问题描述:本来配置好的DG第二天重启之后,发现主备库数据不能同步,在主库上执行日志切换以及创建表操作都传不到备库上,造成这种错误的原因是主库实例断掉后造成备库日志与主库无法实时接收

主库:orcl    备库:orclstd 说明:启动之前主备库都要开启监听,否则接收不到数据

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.在主库上:启动主库,切换到startup状态

DG重启之后主备数据不同步 Oracle 第1张

 

 

 2.切换日志,并查看主库最大日志数

DG重启之后主备数据不同步 Oracle 第2张

 

 

 3.在备库上:验证切换过的最大日志数,发现主备最大日志数不一样,主备库数据不能同步

DG重启之后主备数据不同步 Oracle 第3张

 

4.取消备库接受日志,然后重启实例,避免因为过程中造成主库继续传输数据的冲突

DG重启之后主备数据不同步 Oracle 第4张

 

 

 5.重启实例

 DG重启之后主备数据不同步 Oracle 第5张

 

 

 6.把备库实例启动到nomount状态,再切换到mount状态,并将数据库状态切换为open read only只读状态

 DG重启之后主备数据不同步 Oracle 第6张

 

 

 7.重新应用日志信息,开始实时同步

DG重启之后主备数据不同步 Oracle 第7张

 

 

 8.主库上重新切换日志,并查看最大日志数

DG重启之后主备数据不同步 Oracle 第8张

 

 

 9.在备库上查看最大日志数,已经可以同步了,在主库上创建表或者数据文件都是ok的

DG重启之后主备数据不同步 Oracle 第9张

 

 

 10.相关sql

取消实时同步:SQL> alter database recover managed standby database cancel;

开启实时同步:SQL> alter database recover managed standby database using current logfile disconnect from session

日志切换       :SQL> alter system archive log current;

看最大日志数:SQL> select max(sequence#) from v$archived_log;

切换open只读:SQL> alter database open read only;

加载到standby:SQL> alter database mount standby database;

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄