故事开始:

       一DG环境,运行正常。之后将主库主机名调整,DG环境运行正常。

       而后将主库的数据文件位置进行移动,重启了主库,之后备库无法接收到主库的归档日志。



破案征途:

       主库alert日志显示:。。。。


      其中提及一trace文件:orcl_nsa2_99817.trc   

      于是查该trace,里面显示OCIAttach error 12154,ORA-12154,无法识别请求的字符串。

      

      接下来从dg的主库配置参数 log_archive_config\log_archive_dest_n及主库的tnsnames.ora看都未发现异常,且tnsping 检查与备库的连通性是通的,用sqlplus 连备库也没问题(使用的是tnsname.ora中备库的字符串)。最后使用下面的方法来调整参数后备库能正常接收到主库传去的日志


alter system set log_archive_dest_3=service="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.166.209)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = addrdg)))" ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=addrdg' scope=both;