Continue from the finished physical standby and place it under Data Guard Broker control. Covers enabling the Broker on both databases, clearing manual archive destinations, creating the configuration with DGMGRL, and final end-to-end verification of sequence sync for your Oracle 19c disaster recovery architecture.
This part assumes the physical standby from Part 1 is fully built, synchronized and passing the Phase 10 health checks. The Broker is layered on top of that working configuration.
LOG_ARCHIVE_DEST_2/3 settings on the standby are cleared before the Broker takes over redo shippingFollow all sections in sequence. Section numbering continues from Part 1 so each step still maps directly to the original implementation. All commands and configurations are preserved exactly as executed in the production migration.
Enable the Data Guard Broker on both databases. The Broker provides centralized management, automated switchover/failover, and a single interface (dgmgrl) to manage the entire Data Guard configuration. Setting dg_broker_start=TRUE starts the DMON background process on each instance.
SHOW PARAMETER dg_broker_start; ALTER SYSTEM SET dg_broker_start=TRUE SCOPE=BOTH; SHOW PARAMETER broker_config_file;
Before creating the Broker configuration, clear the manual LOG_ARCHIVE_DEST_2 and LOG_ARCHIVE_DEST_3 settings on the standby. The Broker will manage redo shipping configuration automatically — having both manual and Broker-managed settings conflicts and causes errors.
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='' SCOPE=BOTH; ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='' SCOPE=BOTH; SHOW PARAMETER LOG_ARCHIVE_DEST;
Create the Data Guard Broker configuration using dgmgrl. This registers the primary database, adds the standby database, and then enables the complete configuration. Once enabled, the Broker takes over management of redo shipping and monitors both databases continuously.
dgmgrl / as sysdba CREATE CONFIGURATION DG_PRIMARYDB AS PRIMARY DATABASE IS PRIMARYDB CONNECT IDENTIFIER IS PRIMARYDB; ADD DATABASE STANDBYDB AS CONNECT IDENTIFIER IS STANDBYDB MAINTAINED AS PHYSICAL; ENABLE CONFIGURATION; SHOW CONFIGURATION; SHOW DATABASE VERBOSE PRIMARYDB; SHOW DATABASE VERBOSE STANDBYDB;
SHOW CONFIGURATION should display SUCCESS statusSHOW DATABASE outputSHOW DATABASE VERBOSE$ORACLE_BASE/diag/rdbms/ for troubleshootingPerform a final end-to-end validation after Broker setup. Force a log switch on the primary and verify the sequence number advances identically on the standby. The sequence difference should be zero, confirming the Broker-managed Data Guard configuration is fully operational.
ALTER SYSTEM SWITCH LOGFILE; SELECT thread#, MAX(sequence#) AS "Last Seq Generated" FROM v$archived_log val, v$database vdb WHERE val.resetlogs_change# = vdb.resetlogs_change# GROUP BY thread# ORDER BY thread#;
SELECT
ARCH.THREAD# AS "Thread",
ARCH.SEQUENCE# AS "Last Sequence Received",
APPL.SEQUENCE# AS "Last Sequence Applied",
(ARCH.SEQUENCE# - APPL.SEQUENCE#) AS "Difference"
FROM
(SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG
WHERE (THREAD#, FIRST_TIME) IN
(SELECT THREAD#, MAX(FIRST_TIME)
FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD#, SEQUENCE# FROM V$LOG_HISTORY
WHERE (THREAD#, FIRST_TIME) IN
(SELECT THREAD#, MAX(FIRST_TIME)
FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
WHERE ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;Part 1 covers environment preparation, RMAN active duplicate, standby redo logs, redo transport, MRP and validation checks.
The Data Guard Broker was configured successfully on top of the physical standby. Final verification passed with zero transport and apply lag.
DG_PRIMARYDB configuration. Both databases show SUCCESS status. Centralized monitoring and automated failover capability enabled.