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