ORA-20079: Full Resync from Primary Database Is Not Done (After new files are added to primary, rman fails at Standby)

APPLIES TO:

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

SYMPTOMS

RMAN backups are run from Standby server.  Whenever a structural change is made on the primary , attempts to resync from the primary using db_unique_name  during the standby backup fails:

ORA-20079: full resync from primary database is not done

Doing automatic resync from primary
resyncing from database with DB_UNIQUE_NAME TEB
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of allocate command at 11/23/2013 23:11:00
RMAN-03014: implicit resync of recovery catalog failed
RMAN-03009: failure of partial resync command on default channel at 11/23/2013 23:11:00
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-00942: table or view does not exist

 

Db-unique-name for all databases participating in the Data Guard configuration  has been configured.

CHANGES

 Files have been added at the Primary site

CAUSE

 RMAN is trying to implicitly resync from the Primary using db_unique_name as it is aware that structural changes have been made.

However, RMAN is unable to connect to the primary because no connect string was used when connecting to the standby - in order to resync from another host in a Data Guard configuration , the connection to target must be made with a username, password and alias.  This is documentation Bug 13774434: ORA-17629, ORA-17628 DURING RESYNC CATALOG FROM DB_UNIQUE_NAME ALL;

SOLUTION

Use a TNS connect string when connecting to the standby eg

Primary:  London
Standby:  York

$ rman target / catalog rman/rman@rcat
RMAN> resync catalog from db_unique_name london;

resyncing from database with DB_UNIQUE_NAME LONDON
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of resync from db_unique_name command on default channel at 11/27/2013 15:29:39
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-03113: end-of-file on communication channel
ORA-17629: Cannot connect to the remote database server

rman target  sys/oracle@york catalog rman/rman@rcat
RMAN> resync catalog from db_unique_name london;

resyncing from database with DB_UNIQUE_NAME LONDON
starting full resync of recovery catalog
full resync complete

 

 

Additional Note:

o To do RMAN RESYNC from remote database we need to configure DB_UNIQUE_NAME in RMAN persistent configuration 
  See details below about the remote connection for RMAN operation

Ex.

CONFIGURE DB_UNIQUE_NAME '<db unique name primary>'   CONNECT IDENTIFIER  '<tns to primary>' ;
CONFIGURE DB_UNIQUE_NAME '<db unique name standby>'   CONNECT IDENTIFIER  '<tns to standby>' ;

o Connection must be using valid TNS string as user sys/<password> or <user>/<sys password>

Example:

CONFIGURE DB_UNIQUE_NAME 'London' CONNECT IDENTIFIER  'London';    # Primary as from this sample 
CONFIGURE DB_UNIQUE_NAME 'York'     CONNECT IDENTIFIER  'York'  ;      # Standby as from this sample


#(As of now only SYS or user with SYS password is allowed to connect for switch or resync operation)

Enhancement Request/Bug 18070699 is in place to use other user/password apart from sys password 
to connect to remote database for RMAN operation 

 Bug 18070699 - ALLOW NON-SYS USERNAME GRANTED SYSDBA TO RESYNC DB_UNIQUE_NAME ALL 

 

This document is taken from Oracle Support Doc ID 1604302.1

Comments