重庆思庄Oracle、Redhat认证学习论坛

标题: Heartbeat Failed To Connect To Standby ORA-16047 [打印本页]

作者: jiawang    时间: 2020-12-23 14:14
标题: Heartbeat Failed To Connect To Standby ORA-16047

                               
登录/注册后可看大图
[size=130%]PING[ARC2]: Heartbeat Failed To Connect To Standby ORA-16047 (Doc ID 2379045.1)

                               
登录/注册后可看大图






                               
登录/注册后可看大图

In this Document


Symptoms

Changes

Cause

Solution

References


Applies to:  Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Database - Enterprise Edition - Version 11.2.0.3 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.
Symptoms
NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material. Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.
[size=90%]For the purposes of this document, the following fictitious environment is used as an example to describe the procedure:

Primary Database:
DB_NAME: PRIM

Standby Database:
DB_UNIQUE_NAME: STDBY


Log shipping failing with ORA-16047
Alert.log:
[size=90%]PING[ARC2]: Heartbeat failed to connect to standby 'stdby'. Error is 16047.
Wed Mar 21 09:26:37 2018
ARC3: Archivelog destination LOG_ARCHIVE_DEST_2 disabled: Data Guard configuration identifier mismatch
Archived Log entry 25736 added for thread 1 sequence 1662 ID 0x5bb1dab4 dest 1:

Environment Detail:
Primary:
[size=90%]
SELECT database_role role, name, db_unique_name, platform_id, open_mode, log_mode, flashback_on, protection_mode, protection_level FROM v$database;

ROLE      NAME     DB_UNIQUE_NAME      OPEN_MODE         LOG_MODE     
PRIMARY   prim     prim                READ WRITE         ARCHIVELOG

ORACLE_SID set stdby

log_archive_dest_2     SERVICE=stdby ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stdby
*   fal_client     prim
*   fal_server     stdby
*   log_archive_config     DG_CONFIG=(prim,stdby)


Standby:
[size=90%]SQL> SELECT database_role role, name, db_unique_name, platform_id, open_mode, log_mode, flashback_on, protection_mode, protection_level FROM v$database;

ROLE                          NAME     DB_UNIQUE_NAME         OPEN_MODE     LOG_MODE     
PHYSICAL STANDBY     prim      stdby                             MOUNTED     ARCHIVELOG     

ORACLE_SID set prim

log_archive_dest_2     SERVICE=prim ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prim
*   fal_client     stdby
*   fal_server     prim
*   log_archive_config     DG_CONFIG=(prim,stdby)


Parameters are set correctly.
Changes
CauseTNS alias (stdby) configured  in log_archive_Dest_2 parameter at primary is pointing to primary itself.

From primary:


[size=90%]sqlplus sys/<password>@stdby as sysdba
select name,db_unique_name,database_role from v$database;

NAME DB_UNIQUE_NAME DATABASE_ROLE
prim  prim PRIMARY

[size=90%]tnsnames.ora
stdby=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <primary_host_ip>)(PORT = 1521))<<<<Primary HOST IP
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = stdby)<<<<<<<<<<Primary ORACLE_SID
    )
  )


SolutionMake correction to tns alias defined for standby.
[size=90%]stdby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <standby_host_ip>)(PORT = 1521))<<<<Change HOST IP to Standby host IP.
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prim)<<<<<<<<<<Change it to standby ORACLE_SID which is prim
    )
  )


Defer and enable log_archive_dest_state_2 at primary:
[size=90%]SQL> alter system set log_archive_dest_state_2=defer scope=both;
SQL> alter system switch logfile;

SQL> alter system set log_archive_dest_state_2=enable scope=both;













欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2