Oracle Data Guard DR Configuration — Primary, Local HA, COLO2 & Far Sync
End-to-end configuration of Oracle Data Guard for a 6-node RAC cluster with Far Sync and COLO2 DR. Covers all four roles: Primary (P), Local HA Standby (S), COLO2 DR Standby (R), and Far Sync (F).


Architecture Overview
Oracle Data Guard naming convention used throughout this guide:
Primary
SFDCP
Local HA Standby
SFDCS
COLO2 DR Standby
SFDCR
Far Sync
SFDCF
EE Applications → Far Sync + COLO2 DR
MC Applications → Far Sync + Local HA DR + COLO2 DR
Primary Database Configuration
A1. Enable Force Logging
-- Check current force logging state
SELECT force_logging FROM v$database;
-- Enable if not already ON
ALTER DATABASE ENABLE FORCE LOGGING;A2. Change SYS Password
ALTER USER sys IDENTIFIED BY <SYS_PASSWORD>;A3. Configure Standby Redo Log Groups
First, check existing online redo log sizes to match standby redo log size:
SET LINES 180
COL MEMBER FOR A60
SELECT b.thread#, a.group#, a.member, b.bytes
FROM v$logfile a, v$log b
WHERE a.group# = b.group#;
SELECT group#, dbid, thread#, sequence#, status
FROM v$standby_log;Add standby redo log groups — one extra group per thread beyond the online redo log count:
-- Thread 1
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 19 SIZE 128M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 20 SIZE 128M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 21 SIZE 128M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 22 SIZE 128M;
-- Thread 2
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 GROUP 23 SIZE 128M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 GROUP 24 SIZE 128M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 GROUP 25 SIZE 128M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 GROUP 26 SIZE 128M;
-- Threads 3-6: follow same pattern (groups 27-42)Add (n+1) standby redo log groups per thread where n = number of online redo log groups per thread.
A4. Set Standby File Management
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH SID='*';A5. Set Data Guard Parameters
-- DG member list
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG=
'DG_CONFIG=(sfdcp,sfdcs,sfdcf,sfdcr)' SCOPE=BOTH SID='*';
-- Far Sync (SYNC, AFFIRM)
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=
'service=sfdcf_DGMGRL SYNC AFFIRM
valid_for=(online_logfile,all_roles) db_unique_name=sfdcf
delay=0 optional compression=disable
max_failure=1 reopen=300 net_timeout=30
group=1 priority=1' SCOPE=BOTH SID='*';
-- Local HA DR (ASYNC, NOAFFIRM)
ALTER SYSTEM SET LOG_ARCHIVE_DEST_3=
'service=sfdcs_DGMGRL ASYNC NOAFFIRM
delay=0 optional compression=disable max_failure=0
reopen=30 db_unique_name=sfdcs net_timeout=30
group=1 priority=2
valid_for=(online_logfile,all_roles)' SCOPE=BOTH SID='*';
-- COLO2 DR (ASYNC, NOAFFIRM)
ALTER SYSTEM SET LOG_ARCHIVE_DEST_4=
'service=sfdcr_DGMGRL ASYNC NOAFFIRM
delay=0 optional compression=disable max_failure=0
reopen=30 db_unique_name=sfdcr net_timeout=30
group=1 priority=3
valid_for=(online_logfile,all_roles)' SCOPE=BOTH SID='*';
ALTER SYSTEM SET fal_client=sfdcp_DGMGRL SCOPE=BOTH SID='*';
ALTER SYSTEM SET fal_server=sfdcs_DGMGRL,sfdcr_DGMGRL,sfdcf_DGMGRL SCOPE=BOTH SID='*';
ALTER SYSTEM SET service_names='sfdcp,sfdcp_app,sfdcp_DGMGRL';A6. Create PFILE and Copy Password File
-- Create pfile from spfile (to use as base for standby pfiles)
CREATE PFILE='/tmp/pfile_sfdcp.ora' FROM SPFILE;-- Copy password file from ASM to /tmp
asmcmd
ASMCMD> pwget --dbuniquename sfdcp
# Returns: +SFDCP_DATA/SFDCP/PASSWORD/pwdsfdcp.xxx
ASMCMD> pwcopy pwdsfdcp.xxx /tmp
ASMCMD> exitA7. Configure TNS Entries
Add entries to tnsnames.ora on ALL nodes in the cluster. Use SCAN addresses for Primary and Local HA DGMGRL entries:
# Example TNS entry (create similar entries for sfdcs, sfdcf, sfdcr)
sfdcp =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=TCP)(PORT=1521)(HOST=primary-scan1.domain.internal))
(ADDRESS = (PROTOCOL=TCP)(PORT=1521)(HOST=primary-scan2.domain.internal))
)
(CONNECT_TIMEOUT = 10)
(RETRY_COUNT = 5)
(RETRY_DELAY = 2)
(TRANSPORT_CONNECT_TIMEOUT = 2)
(LOAD_BALANCE = off)
(FAILOVER = on)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sfdcp)
(FAILOVER_MODE =
(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)
)
)
)A8. Create Symbolic Links & Configure Listener
Create symbolic links on ALL cluster nodes (run as oracle user):
ln -s /u01/app/19.0.0/grid/network/admin/listener.ora /u01/app/oracle/product/19.0.0/db/network/admin
ln -s /u01/app/19.0.0/grid/network/admin/sqlnet.ora /u01/app/oracle/product/19.0.0/db/network/adminAdd to $GRID_HOME/network/admin/listener.ora on ALL nodes:
# IPC listeners (if not present)
LISTENER_BULK=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_BULK))))
LISTENER_REP=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_REP))))
# Under SID_LIST_LISTENER, add the DG managed entry:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = sfdcp_DGMGRL)
(SID_NAME = sfdcp1) -- change per node
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/db)
)
)Local HA Standby Configuration
B1. Add DB Entry to DBTAB
vi /home/oracle/scripts/environment/dbtab
# Add entry for the standby SID on ALL cluster nodesB2. Prepare Standby PFILE
Copy the primary pfile from /tmp and modify key parameters for the standby:
# Key changes to make in pfile_sfdcs.ora:
# 1. db_unique_name -> 'sfdcs'
# 2. instance_name -> 'sfdcs1', 'sfdcs2', ... per instance
# 3. fal_client -> 'ecgs_DGMGRL'
# 4. fal_server -> 'ecgp_DGMGRL'
# 5. log_archive_dest_1 -> LOCAL with db_unique_name=sfdcs
# 6. service_names -> 'sfdcs,sfdcp_app,sfdcs_DGMGRL'
# 7. audit_file_dest -> update path for standby
# 8. log_archive_dest_state_2 -> 'DEFER' (standby ships via Far Sync)Full pfile reference (ecgs = Local HA standby for ecgp primary):
# Critical parameters shown — adapt instance names to your DB
*.db_name='ecgp' # same as primary db_name
*.db_unique_name='ecgs' # standby unique name
*.fal_client='ecgs_DGMGRL'
*.fal_server='ecgp_DGMGRL'
*.log_archive_config='DG_CONFIG=(ecgs,ecgp,ecgf,ecgr)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ecgs mandatory'
*.log_archive_dest_state_2='DEFER' # defer until DG Broker enables
*.standby_file_management='AUTO'
*.dg_broker_start=TRUE
ecgs1.instance_number=1
ecgs2.instance_number=2
# ... continue for all nodes
ecgs1.undo_tablespace='UNDO01'
ecgs2.undo_tablespace='UNDO02'B3. Create Symbolic Links & Listener on Local HA
# Same as primary — run on ALL Local HA nodes
ln -s /u01/app/19.0.0/grid/network/admin/listener.ora /u01/app/oracle/product/19.0.0/db/network/admin
ln -s /u01/app/19.0.0/grid/network/admin/sqlnet.ora /u01/app/oracle/product/19.0.0/db/network/admin
# Add to listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = sfdcs_DGMGRL)
(SID_NAME = sfdcs1)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/db)
)
)B4. Start Standby in NOMOUNT, Create SPFILE
-- Start instance in nomount using modified pfile
STARTUP NOMOUNT PFILE='/tmp/pfile_sfdcs.ora';
-- Create SPFILE in ASM
CREATE SPFILE='+SFDCP_DATA' FROM PFILE='/tmp/pfile_sfdcs.ora';
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER SYSTEM SET service_names='sfdcs,sfdcs_app,sfdcs_DGMGRL';
EXIT;B5. Copy Password File to ASM
# As root: give oracle access to password file in /tmp
chmod 777 /tmp/pwdsfdcp.xxx
# Copy to ASM diskgroup for standby
asmcmd
ASMCMD> pwcopy /tmp/pwdsfdcp.xxx +SFDCP_DATA/SFDCS/orapwsfdcsB6. Register Database with SRVCTL
srvctl add database -d sfdcs -o /u01/app/oracle/product/19.0.0/db -r PHYSICAL_STANDBY -startoption MOUNT -spfile +SFDCP_DATA/SFDCS/PARAMETERFILE/spfile.xxx -pwfile +SFDCP_DATA/SFDCS/orapwsfdcs
# Add instances (one per node)
srvctl add instance -d sfdcs -i sfdcs1 -n node1
srvctl add instance -d sfdcs -i sfdcs2 -n node2
srvctl add instance -d sfdcs -i sfdcs3 -n node3
srvctl add instance -d sfdcs -i sfdcs4 -n node4
srvctl add instance -d sfdcs -i sfdcs5 -n node5
srvctl add instance -d sfdcs -i sfdcs6 -n node6
srvctl modify database -d sfdcs -diskgroup SFDCP_DATA,SFDCP_RECO
# Add services
srvctl add service -db sfdcs -service sfdcp_app -preferred "sfdcs1,sfdcs2" -available "sfdcs3,sfdcs4,sfdcs5,sfdcs6" -role PRIMARY -notification TRUE -failovertype SELECT -failovermethod BASIC -failoverdelay 5 -failoverretry 180 -commit_outcome true
srvctl add service -db sfdcs -service sfdcs_DGMGRL -preferred "sfdcs1,sfdcs2,sfdcs3,sfdcs4,sfdcs5,sfdcs6" -role PRIMARY -notification TRUE -failovertype SELECT -failovermethod BASIC -failoverdelay 5 -failoverretry 180 -commit_outcome true
srvctl start service -d sfdcs -s sfdcs_app
srvctl start service -d sfdcs -s sfdcs_DGMGRLB7. Verify Connectivity
# Verify listener
lsnrctl status LISTENER
lsnrctl status LISTENER_BULK
# Test TNS connectivity
tnsping sfdcp_DGMGRL
tnsping sfdcs_DGMGRL
# Test RMAN login
rman
RMAN> connect TARGET sys/<SYS_PASSWORD>@sfdcp_DGMGRL;
RMAN> connect AUXILIARY sys/<SYS_PASSWORD>@sfdcs_DGMGRL;
RMAN> exitB8. Run RMAN Active Duplicate
Save as /tmp/rman_dup.sh and run with nohup:
nohup sh /tmp/rman_dup.sh &
# rman_dup.sh contents:
rman TARGET sys/<SYS_PASSWORD>@sfdcp_app AUXILIARY sys/<SYS_PASSWORD>@sfdcs_DGMGRL << EOF
set echo on;
run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby1 type disk;
allocate auxiliary channel stby2 type disk;
allocate auxiliary channel stby3 type disk;
allocate auxiliary channel stby4 type disk;
DUPLICATE TARGET DATABASE FOR STANDBY
FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;
}
exit
EOFMonitor progress in nohup.out. Do not proceed until RMAN returns "Finished Duplicate Db".
B9. Recreate Standby Redo Logs & Enable MRP
-- Drop all groups copied from primary
ALTER DATABASE DROP STANDBY LOGFILE GROUP 19;
-- ... repeat for groups 20-42
-- Verify all dropped
SELECT group#, SUM(bytes/1024/1024) "Size MB"
FROM v$standby_log GROUP BY group#;
-- Recreate standby redo logs (same as primary step A3)
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 19 SIZE 128M;
-- ... add groups 19-42 across threads 1-6
-- Enable MRP
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;B10. Verify Sync & Archive Deletion Policy
-- Check MRP process status
SELECT process, status, thread#, sequence#
FROM gv$managed_standby;
SELECT * FROM v$dataguard_status;
SELECT * FROM gv$archive_gap;# Auto-delete applied archives from standby RECO
rman target /
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;COLO2 DR Standby Configuration
C1–C7. Initial Setup
Steps 1–7 for COLO2 are identical to Local HA (Parts B1–B7) with these differences:
- Use
sfdcr(R suffix) as the DB unique name - Update pfile:
db_unique_name='sfdcr',fal_client='ecgr_DGMGRL' - Add
dg_broker_config_file1/2parameters pointing to COLO2 ASM - COLO2 uses
LISTENER_REP(notLISTENER_BULK) - COLO2 nodes are in a separate datacenter (e.g., r2lg* prefix)
# COLO2-specific listener check
lsnrctl status LISTENER # standard
lsnrctl status LISTENER_REP # COLO2 uses REP not BULKC2. RMAN Duplicate with More Channels (Large DB)
For large databases across datacenters, use more channels for better throughput:
rman TARGET sys/<SYS_PASSWORD>@primarydb_DGMGRL AUXILIARY sys/<SYS_PASSWORD>@sfdcr_DGMGRL << EOF
set echo on;
run {
allocate channel prd1 type disk;
-- ... prd2 through prd16
allocate channel prd16 type disk;
allocate auxiliary channel stand1 type disk;
-- ... stand2 through stand16
allocate auxiliary channel stand16 type disk;
DUPLICATE TARGET DATABASE FOR STANDBY
FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;
}
exit
EOFFar Sync Instance Configuration
D1. Far Sync Pfile Key Differences
Far Sync is a single-node, non-RAC instance — no ASM, uses local filesystem:
# Far Sync pfile key parameters (ecgf = Far Sync for ecgp primary)
*.db_unique_name='ecgf'
*.db_name='ecgp' # same db_name as primary
*.cluster_database=FALSE # NOT a RAC instance
*.fal_client='ecgf_DGMGRL'
*.fal_server='ecgp_DGMGRL','ecgs_DGMGRL','ecgr_DGMGRL'
# Far Sync forwards to COLO2 DR
*.log_archive_dest_2='service="ecgr_DGMGRL" ASYNC NOAFFIRM
delay=0 optional compression=disable max_failure=0
reopen=300 db_unique_name="ecgr" net_timeout=30
valid_for=(standby_logfile,all_roles)'
*.log_archive_dest_state_2='ENABLE'
# Filesystem paths (no ASM on Far Sync)
*.control_files='/u01/data/ecgf/controlfile/control01.ctl',
'/u01/data/ecgf/fast_recovery_area/controlfile/control02.ctl'
*.db_create_file_dest='/u01/data/ecgf/'
*.db_recovery_file_dest='/u01/data/ecgf/fast_recovery_area/'
*.memory_target=2147483648 # typically smaller than primary
*.processes=200D2. Create Required Directories on Far Sync
mkdir -p /u01/app/oracle/admin/sfdcf/adump
mkdir -p /u01/data/sfdcf/controlfile
mkdir -p /u01/data/sfdcf/fast_recovery_area/controlfile
mkdir -p /u01/data/sfdcf/onlinelog
mkdir -p /u01/data/sfdcf/fast_recovery_areaD3. Create Far Sync Control File on Primary
-- Run on Primary
ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS
'/oracle/backup/SFDCP_DR/SFDCF/stbyfarsyncsfdcp.ctl';D4. Copy Files to Far Sync Server
# From Primary, copy pfile, password file, and Far Sync controlfile
cd /tmp
sftp test_user@<far-sync-server-ip>
sftp> cd /tmp
sftp> put pfile_sfdcp.ora
sftp> put pwdsfdcp.xxx
sftp> put stbyfarsyncsfdcp.ctlD5. Set Up Control File & Password File on Far Sync
# As root on Far Sync server
chown -R oracle:oinstall /tmp/stbyfarsyncsfdcp.ctl
chmod 777 /tmp/stbyfarsyncsfdcp.ctl
# As oracle
cp /tmp/stbyfarsyncsfdcp.ctl /u01/data/sfdcf/controlfile/control01.ctl
cp /tmp/stbyfarsyncsfdcp.ctl /u01/data/sfdcf/fast_recovery_area/controlfile/control02.ctl
cp /tmp/pwdsfdcp.xxx $ORACLE_HOME/dbs/orapwsfdcfD6. Start Far Sync & Create SPFILE
STARTUP NOMOUNT PFILE='/tmp/pfile_sfdcf.ora';
CREATE SPFILE FROM PFILE='/tmp/pfile_sfdcf.ora';
SHUTDOWN IMMEDIATE;
EXIT;
-- Restart and mount
STARTUP MOUNT;D7. Listener Entry for Far Sync
# Add to $ORACLE_HOME/network/admin/listener.ora on Far Sync server
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = sfdcf_DGMGRL)
(SID_NAME = sfdcf)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/db)
)
)
lsnrctl reload LISTENERD8. Standby Redo Logs & Archive Deletion Policy on Far Sync
-- Drop existing standby redo log groups (19-42)
ALTER DATABASE DROP STANDBY LOGFILE GROUP 19;
-- ... repeat for 20-42
-- Recreate
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 19 SIZE 128M;
-- ... add groups 20-42rman target /
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;Data Guard Broker Configuration
E1. Enable DG Broker on All Members
Run on each member (Primary, Local HA, COLO2, Far Sync) — create DATAGUARDCONFIG directories first in ASM:
# On ASM nodes (Primary, Local HA, COLO2)
asmcmd
ASMCMD> cd +SFDCP_DATA/SFDCP
ASMCMD> mkdir DATAGUARDCONFIG
ASMCMD> exit-- Run per member, adjust paths for each
ALTER SYSTEM SET dg_broker_start=FALSE;
ALTER SYSTEM SET dg_broker_config_file1='+SFDCP_DATA/SFDCP/DATAGUARDCONFIG/dr1sfdcp.dat' SCOPE=BOTH SID='*';
ALTER SYSTEM SET dg_broker_config_file2='+SFDCP_RECO/SFDCP/DATAGUARDCONFIG/dr2sfdcp.dat' SCOPE=BOTH SID='*';
ALTER SYSTEM SET dg_broker_start=TRUE SCOPE=BOTH SID='*';
-- Far Sync uses filesystem paths:
-- dg_broker_config_file1='/u01/data/sfdcf/controlfile/dr1sfdcf.dat'
-- dg_broker_config_file2='/u01/data/sfdcf/fast_recovery_area/controlfile/dr2sfdcf.dat'E2. Disable Manual Archive Destinations Before Broker
-- Clear manual archive destinations — DG Broker will manage them
ALTER SYSTEM SET log_archive_dest_2='';
ALTER SYSTEM SET log_archive_dest_3='';
ALTER SYSTEM SET log_archive_dest_4='';E3. Create DG Broker Configuration (MC Applications)
dgmgrl sys/<SYS_PASSWORD>@sfdcp_DGMGRL
-- Create configuration
CREATE CONFIGURATION 'sfdcp' AS
PRIMARY DATABASE IS 'sfdcp'
CONNECT IDENTIFIER IS 'sfdcp_DGMGRL';
-- Add Local HA standby
ADD DATABASE 'sfdcs' AS
CONNECT IDENTIFIER IS 'sfdcs_DGMGRL'
MAINTAINED AS PHYSICAL;
-- Add Far Sync
ADD FAR_SYNC 'sfdcf' AS
CONNECT IDENTIFIER IS 'sfdcf_DGMGRL';
-- Add COLO2 DR
ADD DATABASE 'sfdcr' AS
CONNECT IDENTIFIER IS 'sfdcr_DGMGRL'
MAINTAINED AS PHYSICAL;
SHOW CONFIGURATION;
ENABLE CONFIGURATION;
SHOW CONFIGURATION;E4. Configure Redo Routes (MC Applications)
-- Primary: sync to Far Sync (priority 1), async to COLO2 (priority 2), async to Local HA
EDIT DATABASE sfdcp SET PROPERTY
RedoRoutes='(LOCAL : (sfdcf SYNC PRIORITY=1, sfdcr ASYNC PRIORITY=2), sfdcs ASYNC)';
-- Local HA: same routing pattern as primary (for switchover scenarios)
EDIT DATABASE sfdcs SET PROPERTY
RedoRoutes='(LOCAL : (sfdcf SYNC PRIORITY=1, sfdcr ASYNC PRIORITY=2), sfdcp ASYNC)';
-- Far Sync: forwards to COLO2 DR
EDIT FAR_SYNC sfdcf SET PROPERTY RedoRoutes='(sfdcp : sfdcr ASYNC)';
-- COLO2 DR: sends back to primary and local HA during switchover
EDIT DATABASE sfdcr SET PROPERTY RedoRoutes='(LOCAL : sfdcp ASYNC, sfdcs ASYNC)';
-- Set apply instances
EDIT DATABASE sfdcr SET STATE='APPLY-ON' WITH APPLY INSTANCE='sfdcr1';
EDIT DATABASE sfdcs SET STATE='APPLY-ON' WITH APPLY INSTANCE='sfdcs1';
-- Set lag thresholds (seconds)
EDIT DATABASE sfdcp SET PROPERTY NetTimeout=45;
EDIT DATABASE sfdcr SET PROPERTY ApplyLagThreshold=30;
EDIT DATABASE sfdcs SET PROPERTY ApplyLagThreshold=30;
EDIT DATABASE sfdcr SET PROPERTY TransportLagThreshold=30;
EDIT DATABASE sfdcs SET PROPERTY TransportLagThreshold=30;
SHOW CONFIGURATION VERBOSE;E5. Configure Redo Routes (EE Applications — No Local HA)
-- EE Apps: Primary → Far Sync (SYNC) → COLO2 DR (ASYNC)
EDIT DATABASE sfdcp SET PROPERTY
RedoRoutes='(LOCAL : (sfdcf SYNC PRIORITY=1, sfdcr ASYNC PRIORITY=2))';
EDIT FAR_SYNC sfdcf SET PROPERTY RedoRoutes='(sfdcp : sfdcr ASYNC)';
EDIT DATABASE sfdcr SET PROPERTY RedoRoutes='(LOCAL : sfdcp ASYNC)';
EDIT DATABASE sfdcp SET STATE='APPLY-ON' WITH APPLY INSTANCE='sfdcp1';
EDIT DATABASE sfdcr SET STATE='APPLY-ON' WITH APPLY INSTANCE='sfdcr1';
SHOW CONFIGURATION VERBOSE;Configuration shows SUCCESS with no warnings before proceeding.
E6. Set Archive Deletion Policy on Primary
rman target /
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO ALL STANDBY;