[toc]

适用范围

oracle 19c dataguard 主库alert日志告警:TNS-12564: TNS: 拒绝连接 TT00 (PID:2865): Error 12528 received logging on to the standby”;主库v$archive_dest报错:archive_dest ORA-16058: 未装载备用数据库实例

问题概述

racle 19.18 dataguard 配置主库无法连接备库,导致主库日志无法传送值备库:

主库alert日志告警:TNS-12564: TNS: 拒绝连接 TT00 (PID:2865): Error 12528 received logging on to the standby

主库v$archive_dest报错:archive_dest ORA-16058: 未装载备用数据库实例

问题原因

主库上执行如下,获取 pid

1
2
$ ps -ef | grep pmon 
$ ps -ef |grep tns

然后执行如下,pid 换成上面获取的pid

1
2
$ ps eww <PID_of_pmon_process> 
$ ps eww <PID_of_tns_process>

进程中的TNS_ADMIN 环境变量错误。
主库配置参数(使用别名)命令:

1
alter system set log_archive_dest_2='service=orcldg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcldg' ;

日志报错:TNS-12564: TNS: 拒绝连接 TT00 (PID:2865): Error 12528 received logging on to the standby`

修改主库配置参数(使用连接串)命令:

1
alter system set log_archive_dest_2='service="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xxx.xxx)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcldg)))" lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcldg' ;

修改后dg正常同步。
配置 TNS_ADMIN 环境变量之后,可以正常识别别名。

解决方案

1、修改主库配置参数使用连接串:

命令类似如下:

1
alter system set log_archive_dest_2='service="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xxx.xxx)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcldg)))" lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcldg' ;

2、配置 TNS_ADMIN 环境变量

命令类型如下:

1
export TNS_ADMIN=$ORACLE_HOME/network/admin/

参考文档

原文作者: liups.com

原文链接: http://liups.cn/posts/bac0760e/

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议