平台: oracle 9i + windows 2003
故障表现:
ORA-12154: TNS:could not resolve service name
Data Guard 之前一直很正常。 突然就报这个错了。无法完成归档,但用tnsping SID, 没有问题,监听也没有问题。 因为TNS 无法解析,所以主库的归档日志无法传送到备库。 无法完成归档。
尝试解决方法:
SQL> alter system set log_archive_dest_2='';
系统已更改
SQL> alter system set log_archive_dest_3='service=orcl_2';
系统已更改
SQL> alter system set log_archive_dest_3='';
系统已更改
SQL> alter system set log_archive_dest_2='service=orcl_2';
系统已更改
查询归档目录的相关信息
select dest_name,status,type,database_mode,recovery_mode,destination,
archived_seq#,applied_thread#,applied_seq#,error from V$archive_Dest_Status
where dest_name in('LOG_ARCHIVE_DEST_1','LOG_ARCHIVE_DEST_2');
或者用
select dest_id,status from v$archive_dest;
切换归档文件:
Alter system switch logfile;
修改之后的几分钟之内查询是有效的,过一会又会报ORA-12154: TNS:could not resolve service name错误。
查看归档情况:
select name,sequence#,applied from v$archived_log;
备库重新启动归档文件
alter database recover managed standby database cancel;
alter database recover managed standby database disconnect from session;
解决方法:
最后实在无耐, 把服务器重启了下, 居然搞定了。看来windows 平台跑Oracle 还是有些问题。 这个不是oracle 9i 的bug 就是Oracle 与 windows 2003 的兼容性问题。

本文记录了一次 Oracle Data Guard 出现 ORA-12154 错误的排查过程。通过调整 log_archive_dest 参数配置及归档文件切换等操作尝试解决问题,最终发现重启服务器可以解决此问题。
1186

被折叠的 条评论
为什么被折叠?



