Wednesday, May 20, 2020

Duplicate of a Standby DB fails with ORA-19845

While creating a Standby database on a RAC environment from another RAC database using duplicate method I was getting this weird error:

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/20/2020 14:20:14
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
ORA-19845: error in backupControlFile while communicating with remote database server
ORA-17628: Oracle error 1580 returned by remote Oracle server
ORA-01580: error creating control backup file
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 0 could not be verified
ORA-19845: error in backupControlFile while communicating with remote database server
ORA-17628: Oracle error 1580 returned by remote Oracle server
ORA-01580: error creating control backup file


I was running the duplicate command from the primary DB (Node1)

After long investigation I figured out that the Snapshot controlfile location is not shared between both RAC instances (on the primary side):

RMAN> show SNAPSHOT CONTROLFILE NAME;

RMAN configuration parameters for database with db_unique_name SPRINTS are:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/cloudfs/backup/sprint/snapcf_sprint.f';


That location "/cloudfs/backup/sprint" was only available on Node1 and not available on Node2

I've simply gone to Node2 and created the full location path and the duplicate succeeded!
On Node2:

# mkdir -p /cloudfs/backup/sprint
# chown oracle /cloudfs/ -R


Conclusion:
As a rule of thumb, the SNAPSHOT CONTROLFILE location should be available on all RAC nodes. Even if it's not shared between all nodes, it just needs to be exist!


No comments:

Post a Comment