解决主库报错HeartBeat failed to connect to standby Error 12154

有一个库自从上线之后,主库的alertlog中一直有如下报错:

1. 检查远端的standby库已经启动,且已经到了mount以上的状态(即在read only的模式下Real Time Apply)。

2. 检查主库到远端的tnsping,正常。

3. 检查主库sqlplus user/pwd@tns 也是正常连接。

4. defer log_archive_dest_state_2后再enable,让archive进程意识到tnsnames.ora的变动。(怕之前修改过,archive进程没有意识到。),还是没用。依旧报错。

5. 再检查了一下,发现TNS_ADMIN的环境变量没有设置。所以用于心跳检测的archive进程,会找不到tns的配置文件。

临时解决办法:

修改环境变量,添加TNS_ADMIN,待下次重启数据库生效。

参考:
Error 12154 received logging on to the standby whenever primary instance startup with srvctl (Doc ID 1943178.1)
RFS Is not coming up on standby Due to ORA-12154 on transport (primary side) (Doc ID 2196182.1)
Troubleshooting – Heartbeat failed to connect to standby (Doc ID 1432367.1)

相关文章

4条评论

  1. 你的是哪个版本,我的11.2.0.4for solaris10的dg,根本没有设置TNS_ADMIN很正常哦,没有任何心跳报错。

    1. 如果你是全新安装,只有一个版本DB在上面跑,那不会有问题。如果你有多个版本的DB在同一个主机上跑,有些是老的ORACLE_HOME,有些是新的ORACLE_HOME。那就会有我这样的问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据