Oracle Data Guard ist eine Erweiterung des Datenbankmanagementsystems der Firma Oracle, die den Betrieb einer Standby-Datenbank erlaubt. Mittels Data Guard ist es möglich, sämtliche Datenänderungen an eine räumlich getrennte Datenbank zu senden. Diese kann dann geplant (Switchover) oder bei einem Ausfall der Primärdatenbank (Failover) den Betrieb übernehmen.
Es ist möglich, sowohl physische als auch logische Standby-Datenbanken mit der Primär-Datenbank zu verbinden. Hierbei kann man die Standby-Datenbanken in Echtzeit oder auch zeitversetzt (z. B. zum Ausschluss von menschlichen Fehlern) betreiben. Eine Umschaltung kann automatisch erfolgen. Dazu wird ein Observer eingesetzt, der die Data Guard-Konfiguration von außen überwacht. Fällt die primäre Datenbank aus, leitet der Observer einen Failover auf die zweite Datenbank ein, die dann den Betrieb übernimmt.
Die primäre Datenbank kann auch entlastet werden, indem man Abfragen auf der Standby-Datenbank laufen lässt, diese Option ist allerdings kostenpflichtig ("Active Data Guard"). Mit Oracle Database 12c kamen weitere Konfigurationsmöglichkeiten für weit entfernte Standby-Systeme hinzu. Dazu zählen Far Sync und Zero-Data-Loss.
Die Steuerung erfolgt mittels einer grafischen Benutzeroberfläche oder durch ein kommandozeilenorientiertes Werkzeug (Data Guard Control).