As Oracle DBAs, ensuring zero data loss (RPO) and minimal downtime (RTO) is critical. Oracle Data Guard is the industry-standard solution for high availability, disaster recovery, and data protection.

(A) Primary Components:
• Primary Database
• Standby Database
– Physical Standby (Redo Apply via MRP)
– Logical Standby (SQL Apply)
– Snapshot Standby
– Far Sync Instance (for zero data loss over WAN)

(B) Data Guard Services:
• Redo Transport Services
– Transports redo from Primary to Standby
– Modes:
° SYNC / ASYNC
° AFFIRM / NOAFFIRM
° LGWR vs ARCH

• Apply Services
– Physical: MRP (Media Recovery Process)
– Logical: LSP (Logical Standby Process)
– Supports Real-Time Apply

(C) Redo Transport Configuration Parameters:

• LOG_ARCHIVE_CONFIG=’DG_CONFIG=(PRIMARY,STANDBY)’

• LOG_ARCHIVE_DEST_n
– SERVICE=
– VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
– DB_UNIQUE_NAME=
– ARCH, LGWR, ASYNC, SYNC, AFFIRM, NOAFFIRM
– NET_TIMEOUT=30
– REOPEN=300
– MAX_FAILURE=3
– DELAY=0
– ALTERNATE=LOG_ARCHIVE_DEST_n
– LOG_ARCHIVE_DEST_STATE_n=ENABLE
– FAL_SERVER, FAL_CLIENT – automatic gap resolution
– DB_FILE_NAME_CONVERT, LOG_FILE_NAME_CONVERT
– STANDBY_FILE_MANAGEMENT=AUTO

(D) Role Management:

• Switchover – Graceful switch between Primary and Standby
• Failover – Emergency switch when Primary fails
• Managed via:
– DGMGRL CLI
– Oracle Data Guard Broker
– Fast-Start Failover (FSFO) with Observer

(E) Broker-Specific Parameters:
• DG_BROKER_START=TRUE
• DG_BROKER_CONFIG_FILE1 / FILE2
• ENABLE FAST_START FAILOVER
• FastStartFailoverTarget
• ObserverPingInterval, FastStartFailoverThreshold

• Commands:

SHOW CONFIGURATION VERBOSE
VALIDATE DATABASE VERBOSE <db_name>
FAILOVER TO <db_name>, SWITCHOVER TO <db_name>

(F) Monitoring & Troubleshooting Views:

V$DATAGUARD_STATS
V$ARCHIVE_DEST_STATUS
V$ARCHIVE_GAP
V$MANAGED_STANDBY
V$DATABASE, V$DATABASE_INCARNATION
GV$LOG, GV$LOGFILE, GV$ARCHIVED_LOG

(G) Best Practices & Advanced Features:

• Enable db_lost_write_protect = TYPICAL
• Use DB_UNIQUE_NAME consistently in transport configs
• Protect listener with REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE

• Configure LOG_ARCHIVE_MAX_PROCESSES = 4 (or higher)
• Test Snapshot Standby with CONVERT TO SNAPSHOT/STANDBY
• Use Far Sync Instances for WAN deployments (zero data loss)
• Cascaded Standby to offload primary transport load
• Integrate with ZDLRA (Zero Data Loss Recovery Appliance)

(H) Tuning Tips:
• Monitor redo send and apply lag via:
• V$DATAGUARD_STATS (transport lag, apply lag)
• Optimize ASYNC transport with compression & MTU tuning
• Use ADG_REDIRECT_DML=TRUE for offloading reads to ADG

Recent Posts

Start typing and press Enter to search