Kapitel 27
Data Guard
630
27.1 Architektur
Oracle unterscheidet zwei grundlegende Typen von Standby-Datenbanken: die
Physical Standby-Datenbank und die Logical Standby-Datenbank. Diese verwenden
teilweise dieselben Technologien und Features, unterscheiden sich jedoch in ihrer
Ausrichtung und Funktionalität.
Eine Physical Standby-Datenbank ist eine Eins-zu-eins-Kopie der Primärdaten-
bank mit identischem physikalischen Layout. Zwar können die Verzeichnisse der
Datenbankdateien umbenannt werden, jedoch müssen Anzahl und Größe der
Dateien identisch sein. Die Physical Standby-Datenbank befindet sich normaler-
weise im Recovery-Modus und wird durch das Anwenden der übertragenen Redo
Log-Informationen mit der Primärdatenbank synchron gehalten. Die früheren
Versionen waren in ihrer Funktionalität fast ausschließlich auf die Erhöhung der
Verfügbarkeit und das Disaster Recovery ausgerichtet. Seit Oracle 11g hat sich die
Verwendbarkeit von Physical Standby-Datenbanken erheblich erweitert. So ist es
möglich, diese parallel zum Recovery-Modus im Read Only-Modus zu betreiben.
Damit können Physical Standby-Datenbanken zur Verminderung des Workloads
der Primärdatenbank eingesetzt werden. Mit der neuen Snapshot Standby-Daten-
bank können Transaktionen getestet werden, ohne dass der Schutz der Primärda-
tenbank verloren geht. Ein weiteres Einsatzgebiet ist das Durchführen von
Upgrades im laufenden Betrieb, sogenannten Rolling Upgrades.
Eine Logical Standby-Datenbank enthält Objekte und Daten der Primärdatenbank.
Sie kann sich jedoch in ihrem physikalischen Layout unterscheiden. Die Synchro-
nisation erfolgt ebenfalls auf Basis der Übertragung von Redo Log-Informationen,
jedoch erfolgt das Einarbeiten der Aktualisierungen nicht über Recovery-Prozesse.
Vielmehr werden die Redo Log-Informationen unter Verwendung der LogMiner-
Technologie in Logical Change Records (LCR) umgewandelt und auf der Standby-
Datenbank ausgeführt. Logical Change Records sind vergleichbar mit SQL-Anwei-
sungen. Sie lösen Transaktionen auf der Datenbank aus. Dieses Feature wird auch
als SQL Apply bezeichnet. Eine Logical Standby-Datenbank muss immer geöffnet
sein, damit Data Guard die LCR anwenden kann. Allerdings steht die Datenbank
für andere Sitzungen nur im Lesezugriff zur Verfügung. Es können jedoch zusätz-
liche Indexe oder Materialized Views angelegt werden. Damit kann eine Logical
Standby-Datenbank sehr gut für das Reporting eingesetzt werden und die Primär-
datenbank entlasten.
Data Guard unterscheidet folgende drei Modi zum Schutz der Primärdatenbank:
Maximum Protection-Modus
Maximum Availability-Modus
Maximum Performance-Modus
27.1
Architektur
631
Der Maximum Protection-Modus garantiert, dass kein Datenverlust im Fall einer
Havarie der Primärdatenbank entsteht. Um das zu erreichen, müssen die Redo
Log-Informationen für jede Transaktion sowohl in die lokalen Online Redo Log-
Dateien geschrieben als auch auf die Standby-Datenbank übertragen werden. Erst
wenn die Bestätigung einer erfolgreichen Übertragung vom Standby-Server einge-
troffen ist, wird die COMMIT-Anweisung bestätigt.
Der Maximum Availability-Modus entschärft den Einfluss von Data Guard auf die
Verfügbarkeit der Primärdatenbank und garantiert dabei immer noch, dass im
Havariefall kein Datenverlust entsteht. Wie im Maximum Protection-Modus
erfolgt die Bestätigung des Abschlusses einer Transaktion erst, nachdem die Redo
Log-Informationen komplett auf mindestens eine Standby-Datenbank übertragen
wurden. Allerdings wird die Primärdatenbank nicht geschlossen, wenn keine
Standby-Datenbank verfügbar ist. Die Primärdatenbank operiert dann im Maxi-
mum Performance-Modus, bis alle entstandenen Lücken in den Standby-Daten-
banken wieder geschlossen sind.
Der Maximum Performance-Modus ist Standard in Data Guard. Er bietet einen
hohen Datenschutz mit geringem Einfluss auf die Performance der Primärdaten-
bank. Ein erfolgreicher Transaktionsabschluss wird bestätigt, sobald die Redo Log-
Informationen lokal in der Primärdatenbank gespeichert sind. Das entspricht dem
Verhalten einer Datenbank ohne Data Guard. In diesem Modus kann die Übertra-
gung der Redo Log-Daten zur Standby-Datenbank wahlweise durch den Logwriter-
Prozess (LGWR) oder den Archiver-Prozess (ARCn) erfolgen. Die Übertragung
durch den Logwriter ist wesentlich zeitnaher. Das hat im Havariefall einen gerin-
geren Datenverlust zur Folge.
Vorsicht
Beachten Sie, dass der Maximum Protection-Modus Auswirkungen auf die Per-
formance der Primärdatenbank haben kann. Der Abschluss einer Transaktion ist
nicht mehr allein von der Geschwindigkeit des Speicherns in die lokalen Online
Redo Log-Dateien, sondern zusätzlich von der Übertragung auf die Standby-Ser-
ver abhängig. Verwenden Sie den Maximum Protection-Modus immer mit min-
destens zwei Standby-Datenbanken. Die Primärdatenbank wird von Data Guard
heruntergefahren, wenn die Transaktionen nicht mindestens auf eine Standby-
Lokation übertragen werden können.
Tipp
Wenn Sie nicht mehr als eine Standby-Datenbank pro Primärdatenbank betreiben
und keine zusätzliche Performanceverluste zulassen wollen, sollten Sie den Maxi-
mum Performance-Modus mit Übertragung durch den Logwriter-Prozess wählen.

Get Oracle 12c - Das umfassende Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.