Oracle ADG Heartbeat failed to connect to standby故障案例

客户的主数据库是一套Oracle Database  11gR2 for AIX的单机数据库,在系统层面部署 了IBM HACMP软件 ,将该数据库做成了能在两台物理机之间切换的主备 模式,并且为该数据库实施了ADG。客户将主数据库切换到备用服务器之后,主数据库与备用数据库不再同步,在数据库的告警日志中收到如下告警:
Fri Mar 13 02:28:00 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.  <<<<   注意错误编号。
Fri Mar 13 02:29:01 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:30:01 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:31:02 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:32:02 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:33:02 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:34:03 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:35:03 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.
Fri Mar 13 02:36:04 2015
PING[ARC2]: Heartbeat failed to connect to standby 'd012dg'. Error is 16057.

   以上告警在ADG的环境中已经多次遇到, 请注意类似报错的错误ID,这里的ID是16057,Oracle对该错误是这样解释的:
ORA-16057: DGID from server not in Data Guard configuration
Cause:  The Data Guard name of the primary database or the FAL server is not in the Data Guard configuration of the standby.
Action:  In order for the primary database or the FAL server to archive logs to the standby database, the Data Guard name of the primary or FAL server must be in the Data Guard configuration of the standby.

在MOS中找到如下文章:

Primary Remote log shipping failing with ORA-16057 - Server not in Data Guard configuration (Doc ID 1570928.1)

In this Document

 Symptoms
 Cause
 Solution


Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.

Symptoms

 ------------Primary Alert log-----------------
Thu Jul 11 16:28:16 2013
ALTER SYSTEM SET log_archive_dest_2='service=chicago async valid_for=(all_logfiles,primary_role) db_unique_name=chicago' 

SCOPE=BOTH;
Thu Jul 11 16:28:17 2013
PING[ARC1]: Heartbeat failed to connect to standby 'chicago'. Error is 16057..' 
..
.
Error 16057 for archive log file 1 to 'chicago'
Thu Jul 11 16:28:19 2013
Errors in file /u01/app/oracle/diag/rdbms/boston/boston/trace/boston_tt01_6296.trc:
ORA-16057: server not in Data Guard configuration


@primary,

SQL> col error for a30
SQL> select dest_id,error,status,log_sequence,applied_scn from v$archive_dest where dest_id=2;

   DEST_ID ERROR                          STATUS    LOG_SEQUENCE APPLIED_SCN
---------- ------------------------------ --------- ------------ -----------
         2 ORA-16057: server not in Data  ERROR               61           0
           Guard configuration

Cause

log_archive_config not set.

Solution

@primary,

SQL> col error for a30
SQL> select dest_id,error,status,log_sequence,applied_scn from v$archive_dest where dest_id=2;

   DEST_ID ERROR                          STATUS    LOG_SEQUENCE APPLIED_SCN
---------- ------------------------------ --------- ------------ -----------
         2 ORA-16057: server not in Data  ERROR               61           0
           Guard configuration

SQL> sho parameter log_archive_config

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_config                   string

SQL>ALTER SYSTEM SET log_archive_config='dg_config=(boston,ChicagO)' SCOPE=BOTH;

System altered.

SQL> alter system set log_archive_dest_state_2=defer;

System altered.

SQL>  alter system set log_archive_dest_state_2=enable

System altered.

SQL> alter system switch logfile;

System altered.

SQL> select dest_id,error,status,log_sequence,applied_scn from v$archive_dest where dest_id=2;

   DEST_ID ERROR                          STATUS    LOG_SEQUENCE APPLIED_SCN
---------- ------------------------------ --------- ------------ -----------
         2                                VALID               63     2133221


@standby,

SQL> sho parameter log_archive_config

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_config                   string

NOTE : 

1.  It is not mandatary to set the config parameter at standby side. But we need this to be set on standby side as well for any role 

transition purpose and for DG broker configuration.

2.  Once remote shipping established then log_archive_config to null will not affect the remote destination until DB is restarted. 

Restart will verify log_archive_config.

rti.run" type="text/javascript">


   这个错误是由于没有配置 log_archive_config 造成的,重新配置该参数,重新启用 log_archive_dest_state_x参数之后,主备数据库同步恢复正常。出现这个错误的原因是客户没有同步主数据库的主备服务器下 的初始化参数文件造成的。

   当遇到 Heartbeat failed to connect to standby的错误时一定注意错误编号,根据编号来找错误,对新完成配置的ADG环境也可以尝试重启备库或主库观察是否能正常同步。

--end--
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值