cancel
Showing results for 
Search instead for 
Did you mean: 

Archive logs not shipping to DR

Former Member
0 Kudos

Hi,

Recently, i configured DR for ECC Production System and everything was working fine till last week, but when i restarted the Production System for maintenance activity, the archive log shipping to DR System is not working. When i activate the log_archive_dest_state_2 in Primary and activate the managed recovery in DR System, i am getting below mentioned error in Primary System alert.log.

Error 12154 received logging on to the standby

Tue Mar 20 16:21:15 2012

Errors in file /oracle/SID/saptrace/background/sid_arc2_7212.trc:

ORA-12154: TNS:could not resolve the connect identifier specified

PING[ARC2]: Heartbeat failed to connect to standby 'STANDBY'. Error is 12154.

I am able to perform tnsping from Primary and Standby. Currently, i am copying the archive logs through rsync.

Please let me know, how to resolve this issue.

Regards,

Ranjith

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Ranjith.

Check once

Primary database "init<SID>.ora","tnsname.ora"

Secondary database "init<SID>.ora","listener.ora","tnsname.ora"

Check the ports in "listener.ora ","tnsnames.ora" files in both prim and secondary database

Former Member
0 Kudos

Hi,

Sorry to update you guys on the status of this issue. Issue was due to, oracle services was running in sidadm user and i have not changed the tnsnames.ora file in /sapmnt/SID/profile/oracle folder, so the ODG was not able to find the DR Service name. After including the DR Service name in tnsnames.ora, issue got resolved immediately.

Thanks for your suggestions.

Regards,

Ranjith

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Ranjith,

To be sure, perform the steps, below;

As a first step, check the "alert_<SID>.log", at the standby side. Can you see any related error in the log file?

Secondly, paste the "log_archive_dest_2" parameter, here? You should be able to tnsping to the service, indicated next to the "SERVICE" parameter. Find the example, below;

Check -> log_archive_dest_2='SERVICE=PRD_DIS.......'

Execute -> tnsping PRD_DIS

Thirdly, at the standby side, find the "FAL_CLIENT" and "FAL_SERVER" parameters and execute tnsping.

As an additional step, it is not directly related, but be sure the password file (pwd<DBSID>.ora) has correct entries at the standby side.

Best regards,

Orkun Gedik

Former Member
0 Kudos

Hi Orkum,

tnsping is working fine from both primary and standby servers.

Commands executed in Primary Server:

SQL> show parameter log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=STANDBY REOPEN=60 ARCH
                                                  NOAFFIRM

SQL> show parameter fal

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
fal_client                           string      PRI
fal_server                           string      STANDBY

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE
SYSTEM                         TRUE  FALSE

Commands executed in Standby Server:

SQL> show parameter fal

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
fal_client                           string      STANDBY
fal_server                           string      PRI


SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE

When i start the managed recovery in standby server, there is no update in the alert log file, but the error is frequently repeated only in primary alert log file.

Former Member
0 Kudos

Could you check the entries in the "sqlnet.ora" on both host?

tcp.validnode_checking=yes

tcp.invited_nodes=(<primary>,<standby>)

Best regards,

Orkun Gedik

Former Member
0 Kudos

Hi Orkun,

Details are mentioned below.

sqlnet.ora from primary:

AUTOMATIC_IPC = ON
TRACE_LEVEL_CLIENT = OFF
NAMES.DEFAULT_DOMAIN = WORLD
SQLNET.EXPIRE_TIME = 10
DEFAULT_SDU_SIZE=32768

sqlnet.ora from standby:

AUTOMATIC_IPC = ON
TRACE_LEVEL_CLIENT = OFF
NAMES.DEFAULT_DOMAIN = WORLD
SQLNET.EXPIRE_TIME = 10
DEFAULT_SDU_SIZE=32768

Regards,

Ranjith

Former Member
0 Kudos

Could you try to restart listeners on both sides?

Best regards,

Orkun Gedik

Former Member
0 Kudos

additionally, copy (take backup) existing pwd files on both sides. re-create your password file, as below;

1) Execute the command at primary;

orapwd FILE=/oracle/<DBSID>/<REL>/dbs/orapw<DBSID> PASSWORD=<DBpassword> ENTRIES=30

2) Get the DB users, by the statement;

SQL>select username from dba_users;

3) connect with "/as sysdba" and execute the statement, below;

grant SYSDBA, SYSOPER to <for each user in the 2nd step>

at the end of it, "commit" the transaction

4) copy newly created password file into the standby

5) restart the standby

Best regards,

Orkun Gedik