Data Guard 不同步日志,备库不应用日志,报错Error12514received logging on to the standby

Data Guard 不同步日志,备库不应用日志,报错Error12514received logging on to the standby

  • Data Guard 不同步日志,备库不应用日志
  • 尝试解决
  • 回顾制作备库的过程

Data Guard 不同步日志,备库不应用日志

最近遇到一个非常奇怪的问题,在生产系统通过duplicate做完DG后,在备库成功打开,且进行实时同步应用,但是发现主库日志无法同步到备库,且备库竟然不识别手工传过来的归档日志,主库alert日志中报错:“Error12514received logging on to the standby”,备库直接报gap找不到归档日志,明明在归档目录有手工传过来的归档啊!!!

尝试解决

第一次碰到这种情况,感觉挺奇怪。
首先操作的是重启备库,然后直接打开库,并进行应用,结果没有任何效果,备库日志报如下错误:
Data Guard 不同步日志,备库不应用日志,报错Error12514received logging on to the standby_第1张图片发现归档依然没有传输到备库,在主库日志中看到如下报错:
Data Guard 不同步日志,备库不应用日志,报错Error12514received logging on to the standby_第2张图片
于是尝试了下能否在主库通过sqlplus连接到备库,发现完全没问题,于是乎检查了下主库与备库的tnsnames及监听配置,并尝试重启备库监听,然并卵!!!

在主库通过修改一下参数进行尝试:

    alter system set log_archive_dest_state_2=defer;
    alter system set log_archive_dest_state_2=enable;

然并卵!!!

后面通过手工传输归档方式,将归档日志传输至备库,发现备库无法识别,但是将备库启动至mount后,可以通过rman进行手工恢复数据。

由于主库暂时无法重启,所以暂时搁浅到这了,但是猜测重启主库应该可以。

回顾制作备库的过程

制作备库的过程是没有问题的,其他几套DG都是用这个流程走的,而且中间没报错。

唯一有问题的是主库的相关参数是两天前修改的,但是好像是没有配置tnsnames。

后面通过查找资料发现问题其实很简单,数据库在启动时,归档进程只会初始化一次tnsname中的数据,后面如果有变化归档进程不会重新读取,由于我本次制作DG时没有配置tnsnames,所有主库会找不到备库,导致无法将归档传输至备库。至于备库为什么对手工传输的归档日志进行识别,暂时没找到相关资料,猜测应该是主库备库通信问题导致。

最后的解决办法
1、重启主库(万能油),成功解决所有问题
2、杀掉归档进程(由于是生成,这个没有尝试,下次测试下)
3、log_archive_dest_2参数直接设置连接串,不要配置tnsname中的别名

参考MOS文档
Adding an new Standby fails with error Ora-12154: TNS:could not resolve the connect identifier specified (文档 ID 1240558.1)

你可能感兴趣的:(oracle)