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