Implementing DR Failover to Downstream Recovery Appliance
This section provides steps on how to configure a protected database for transparent failover of backup operations and redo transport to a downstream Recovery Appliance.
As part of disaster recovery, protected databases should failover to a downstream Recovery Appliance as the target for sending backup files and redo transport if the upstream Recovery Appliance is unavailable.
For sake of clarity, this examples makes the following assumptions:
- If you have real time redo transport enabled, it receives an error and stops sending redo to the upstream Recovery Appliance. Within a minute, real time redo transport connects to the downstream Recovery Appliance and resumes sending redo there.
- The name of the example protected database is
CDB122DR
. It is a Container Databases with One Pluggable Database. - The name of the example upstream Recovery Appliance is
RAHADR1
. - The name of the example downstream Recovery Appliance is
RAHADR2
. - A common VPC user called
HADR_COMMON_VPCUSER
was created on both Recovery Appliances and must use the same password on both. - A local VPC user called
HADR_LOCAL_VPCUSER
has been created on both Recovery Appliances but the password can be different between the two. - The replication server between
RAHADR1
andRAHADR2
is using the VPC userREPUSER_FROM_HADR1
.
When using a Data Guard setup that has primary and standby databases, they have the same dbid
and dbname
, so each must have a different db_unique_name
. Use a unique control file autobackup
format at primary and standby to guarantee uniqueness. The format can be specified by using RMAN configuration settings. Default Controlfile Autobackup Format
:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
Add db_unique_name
to the default format for both primary and standby databases:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '<db_unique_name>_%F';
The db_unique_name
is obtained from from v$database
.
select db_unique_name from v$database;