--- last_verified: 2026-03-14 pattern: Database Disaster Recovery category: database --- description: | DR patterns for Oracle databases on OCI. Covers active-passive, active-active, and pilot light approaches. tiers: tier_1_mission_critical: name: "Mission Critical" rto: "<15 minutes" rpo: "<1 minute" pattern: "Active-passive with automatic failover" implementation: adb_s: "Cross-region ADG with auto-failover" exacs: "Cross-region Data Guard with FSFO + Observer" cost_multiplier: "2x (full standby)" testing: "Quarterly automated DR drill" tier_2_business_critical: name: "Business Critical" rto: "<1 hour" rpo: "<15 minutes" pattern: "Active-passive with manual failover" implementation: adb_s: "Cross-region ADG with manual switchover" exacs: "Cross-region Data Guard without FSFO" cost_multiplier: "2x (full standby) or 1.5x (scaled-down standby)" testing: "Semi-annual DR drill" tier_3_standard: name: "Standard" rto: "<4 hours" rpo: "<1 hour" pattern: "Pilot light or backup-restore" implementation: adb_s: "Cross-region backup with restore-on-demand" exacs: "RMAN backups to Object Storage, cross-region replicated" cost_multiplier: "1.1x (backup storage only)" testing: "Annual DR drill" dr_regions: recommended_pairs: - primary: "US East (Ashburn)" dr: "US West (Phoenix)" latency_ms: "~60" - primary: "UK South (London)" dr: "Germany Central (Frankfurt)" latency_ms: "~15" - primary: "Japan East (Tokyo)" dr: "Japan Central (Osaka)" latency_ms: "~10" - primary: "Brazil East (Sao Paulo)" dr: "Brazil Southeast (Vinhedo)" latency_ms: "~5" migration_cutover: zero_downtime: tools: ["ZDM with GoldenGate", "Data Guard switchover"] prerequisites: - "GoldenGate configured and replicating" - "Application connection strings use TNS aliases" - "DNS TTL reduced before cutover" steps: - "Verify replication lag is zero" - "Stop writes to source" - "Verify final sync" - "Switch application connection strings" - "Validate application functionality" - "Decommission source (after bake period)" planned_downtime: tools: ["Data Pump", "RMAN restore", "ZDM physical"] typical_downtime: "2-8 hours depending on database size" steps: - "Announce maintenance window" - "Take final backup/export" - "Restore/import to target" - "Switch application connections" - "Validate" gotchas: - id: DR-001 issue: "Cross-region ADG network latency affects commit performance" impact: "Synchronous mode adds latency to every commit" recommendation: "Use asynchronous for cross-region (default), accept seconds of RPO" - id: DR-002 issue: "DR standby compute may not be available during regional disaster" impact: "If DR region is also impacted, compute capacity may be limited" recommendation: "Use capacity reservations in DR region for critical workloads" - id: DR-003 issue: "Application tier DR often forgotten" impact: "Database fails over but app tier is not available" recommendation: "Include app tier in DR plan — Terraform for on-demand provisioning"