Die Verfügbarkeit und Konsistenz der Standby Datenbank hat sich in den letzten Jahren immer mehr verbessert und damit den Transaktionsverlust auf bis zu 0 Transaktionen verringert.
Ursprünglich wurden nur die archivierten Redolog-Dateien auf die Standby Seite übertragen und dort eingespielt. Dadurch lag der Transaktionsverlust in der Größenordnung einer Redolog-Datei. Mit der Version 9i hat Oracle dann die Standby-Redologs eingeführt, so dass Transaktionen jetzt direkt aus den Online Redologs in die Standby Redologs übertragen und dort sofort eingespielt werden konnten. Damit lag der Transaktionsverlust bei nur noch wenigen Transaktionen.
Mit Version 10g wurde dann der LNS Prozess eingeführt, der die Daten direkt vom Logwriter erhält und sie auf die Standby Seite überträgt. Damit ist es jetzt möglich, eine No-Data-Loss-Konfiguration mit Dataguard aufzubauen.
Drei Parameter bestimmen bei der Übertragung der Redolog-Daten auf die Standby-Seite, welcher Protection Modus verwendet werden soll:
- AFFIRM: Hiermit wird angegeben, dass eine Transaktion erst dann bestätigt (Committed) wird, wenn sie im Standby-Redolog angekommen ist. NOAFFIRM würde dieses Verhalten ausschalten, d.h. Transaktionen werden sofort bestätigt.
- SYNC: Hiermit wird angegeben, dass Redolog-Einträge gleichzeitig in die lokalen Redolog-Dateien geschrieben und auf die Standby Seite übertragen werden. Bei ASYNC wird zunächst die lokale und erst danach die Standby-Redolog-Information eingepflegt.
- NET_TIMEOUT: Dieser Parameter steht nur bei SYNC und AFFIRM zur Verfügung und regelt, nach welcher Zeit in den NOAFFIRM Modus gewechselt werden soll.
Maximum Protection
Im Maximum Protection Modus wird eine Transaktion erst dann als „Committed“ bestätigt, wenn die Daten sowohl lokal als auch in mindestens eine Standby Redolog Datei eingetragen worden sind. Fällt die Standby-Datenbank oder das Netzwerk zwischen den Datenbanken aus, können keine Transaktionen mehr ausgeführt werden und die primäre Datenbank fährt automatisch herunter. Oracle empfiehlt den Maximum Protection Modus nur dann zu benutzen, wenn mindestens zwei Standby-Datenbanken existieren.
Für den Maximum Protection Modus müssen folgende Parameter für den Redo-Transport gesetzt sein:
- AFFIRM
- SYNC
Maximum Availibility
Dieser Modus ist ein Kompromiss zwischen Datensicherheit und Performance. Zunächst arbeitet der Maximum Availability Modus genauso, wie der Maximum Protection Modus. D.h. alle Transaktionen werden synchron übertragen und die Bestätigung der Transaktion (COMMIT) wird erst dann gesendet, wenn die Transaktion sowohl lokal als auch in mindestens einer Standby-Redolog-Datei gespeichert worden ist. Mit dem Oracle 12c Feature „FastSync“ kann die Performance noch ein wenig gesteigert werden, indem die Transaktion schon bestätigt wird, wenn die Daten auf der Standby Seite angekommen sind, d.h. sich dort im Memory befinden.
Im Gegensatz zum Maximum Protection Modus, arbeitet die primäre Datenbank jedoch nach kurzer Zeit weiter, wenn die Standby-Seite ausfällt oder ein Netzwerkfehler auftritt. Damit wird automatisch in den Maximum Performance Modus umgeschaltet, d.h. Transaktionen werden sofort bestätigt. Steht die Standby-Datenbank wieder zur Verfügung, wird automatisch auf den Maximum Protection Modus zurückgeschaltet.
Folgende Parameter sind für den Redolog-Transport im Maximum Availability Mode verantwortlich:
- AFFIRM
- SYNC
- NET_TIMEOUT
Der Parameter NET_TIMEOUT (Default 30) gibt an, nach welcher Zeit (in Sekunden) die Datenbank in den Maximum Performance Modus wechseln soll.
Maximum Performance
Der Maximum Performance Modus wird dann benutzt, wenn die primäre Datenbank nicht gefährdet werden darf. D.h. Transaktionen werden bestätigt, wenn sie in die lokalen Redolog-Dateien gespeichert wurden und asynchron an die Standby-Datenbank übertragen. Damit ist beim Ausfall der primären Datenbank auf jeden Fall ein Transaktionsverlust zu erwarten.
Folgende Parameter sind hierbei für den Redolog-Transport verantwortlich:
- NOAFFIRM
- ASYNC
Weitere Einstellungen
Mit Version 12c kann die Übertragung der Redolog-Informationen auf die Standby-Seite komprimiert werden. Dadurch reduziert sich die Bandbreite, d.h. die Übertragung erfolgt schneller. Voraussetzung für die Nutzung der Komprimierung ist die Lizenz „Advanced Compression“.