Herrmann & Lenz Services GmbH Hochverfügbarkeit Johannes Ahrends Fragen: 1. Welche Ausfallzeiten können Sie tolerieren? • Bedenken Sie: Es handelt sich womöglich um den Zeitpunkt, an dem die Hauptlast erzeugt wird (z.B. Handel: Samstagmittag in der Weihnachtszeit) 2. Welchen Datenverlust können Sie tolerieren? • Gar keinen – ist kaum realisierbar! Hochverfügbarkeit Herrmann & Lenz Services 2 Agenda Einschränkung der Verfügbarkeit • Hardwarefehler • Softwarefehler • Maintenance Lösungen • Oracle Lösungen • Quest Shareplex • Libelle DBShadow Hochverfügbarkeit Herrmann & Lenz Services 3 Einschränkung der Verfügbarkeit Hardwarefehler • Ausfall einer Komponente (CPU, Memory, Controller) • Ausfall einer Festplatte • Ausfall eines Rechners • Ausfall eines Plattensystems • Ausfall des Rechenzentrums Hochverfügbarkeit Herrmann & Lenz Services 4 Einschränkung der Verfügbarkeit Softwarefehler • Betriebssystemfehler • Absturz der Anwendung • Absturz der Datenbank • Fehler in der Anwendung • Fehler in der Datenbank • Anwenderfehler Hochverfügbarkeit Herrmann & Lenz Services 5 Einschränkung der Verfügbarkeit Maintenance • Betriebssystemänderungen • Anwendungsänderungen • Oracle Software Änderungen • Einbau neuer Hardwarekomponenten • Umzug des Rechners Hochverfügbarkeit Herrmann & Lenz Services 6 Hardwarefehler Ausfall einer Komponente • Kein Problem: Fehlertolerantes System • System läuft ohne bzw. mit minimaler Einschränkung weiter • Fehlerhafte Komponente wird im laufenden Betrieb getauscht Beispiel: • Oracle 8.1.7 auf Stratus mit HP/UX 11.0 • Erstellung einer Datenbank dauert ca. 4 Stunden • Ursache: I/O-Durchsatz ca. 2MB/s !!! Hochverfügbarkeit Herrmann & Lenz Services 7 Hardwarefehler Ausfall einer Festplatte • Kein Problem: Raid-System • System läuft (ev. mit geringerer Performance) weiter • Festplatte Hot-Plugable Beispiel • Oracle 8.1.7 auf Compaq Rechner mit Windows 2000 • Ausfall einer Festplatte in einem Raid-1 System • Techniker wechselt Platte im laufenden Betrieb • Beim Einschalten der Spiegelung wird die neue Festplatte auf die alte kopiert!!! Hochverfügbarkeit Herrmann & Lenz Services 8 Hardwarefehler Ausfall des Plattensystems • Kein Problem: Regelmäßiges Backup • Einspielen des Backups vom letzten Tag • Einspielen aller verfügbaren archivierten Redolog-Dateien Beispiel: • Ausfall eines Plattensystems unter Windows 2000 mit Oracle 8.1.7 • Beim Einspielen des Backups wurde festgestellt, dass ein Datafile des System-Tablespaces fehlt, weil es nicht im Standardverzeichnis lag!!! => Oracle Support konnte ca. 90% der Daten wieder herstellen über ein Tool "orapatch" (liest die Datenbank-Dateien offline) Hochverfügbarkeit Herrmann & Lenz Services 9 Hardwarefehler Ausfall eines Rechners • Kein Problem: Oracle Parallel Server • Die Benutzer melden sich wieder an und werden automatisch auf einen der verblieblenen Knoten umgeleitet Beispiel: • Oracle Parallel Server 7.3.4 auf 3 x Siemens RM-600 • Ausfall eines Knotens => Benutzer werden umgeleitet auf die verbliebenen Knoten => 2. Knoten wird zu stark belastet und stürzt ab => 3. Knoten soll alle Benutzer übernehmen => 3. Knoten stürzt ab Hochverfügbarkeit Herrmann & Lenz Services 10 Hardwarefehler Ausfall des Rechenzentrums • Problem: Anwender können nicht arbeiten • Kein Eingriff durch Administratoren nötig, Systeme fahren automatisch wieder hoch Beispiel: • 2 x SUN E 6800 mit Oracle 8.1.7 (Replikationslösung) • Ca. 450 GByte Plattenkapazität • Beide Rechner an der gleichen Stromversorgung!!! • Ca. 6 Stunden für den Filesystem-Check!!! Hochverfügbarkeit Herrmann & Lenz Services 11 Softwarefehler Absturz der Datenbankinstanz • Geringes Problem: Instanz wird wieder gestartet • Recovery wird automatisch durchgeführt • Keine weiteren Aktionen nötig Beispiel • Nach Upgrade von Oracle 8.0.5 auf 8.1.7.3 auf HP/UX 11.0 • Instanz bleibt bei Hochlast stehen (keine Fehlermeldungen) • Ursache: SHARED_POOL zu klein • Dauer bis zur Fehlerbehebung: 1 Woche!!! Hochverfügbarkeit Herrmann & Lenz Services 12 Softwarefehler Fehler in der Anwendung • Kein Problem: regelmäßiger Export durchgeführt • Im Fehlerfall werden die entsprechenden Tabellen wieder importiert. • Wird bei Batch-Operationen genutzt Beispiel: • Euro-Test unter Windows NT mit Oracle 8.0.5 • Vorher: Export des entsprechenden Benutzers • Nach Tests: Löschen aller Tabellen und Import des Benutzers => ORA-01658: unable to create INITIAL extent ... Warum? Export wurde mit COMPRESS=Y durchgeführt!!! Hochverfügbarkeit Herrmann & Lenz Services 13 Softwarefehler Anwenderfehler • Kein Problem: "Kann bei uns nicht vorkommen, die Anwendung ist ausgetestet! Beispiel: • Frage: Wer hat SQL*Plus auf dem Rechner installiert? • Antwort: Alle, sonst könnten wir die SQL*Net-Zugriffe nicht testen Hochverfügbarkeit Herrmann & Lenz Services 14 Maintenance Betriebssystemupgrade • Kein Problem: Oracle Parallel Server • Umschalten auf den zweiten Rechner während des Upgrades des ersten (sog. Rolling Upgrade) • Wird von Oracle immer noch nicht supportet!!! Beispiel • Betriebssystemupgrade HP/UX 10.20 auf 11.0 (Oracle 7.3.4) • 7.3.4 unter HP/UX 11.0 64bit nicht supportet => Upgrade von 7.3.4 nach 8.0.5 erforderlich incl. DLM-Upgrade • Kann nur auf beiden Maschinen gleichzeitig durchgeführt werden! • Dauer: ca. 2 Tage Hochverfügbarkeit Herrmann & Lenz Services 15 Maintenance Oracle Upgrade • Kein Problem: Standby-Datenbank 1. Umschalten auf die Standby-Datenbank 2. Upgrade des Produktionsrechners 3. Standby-Funktionalität umgekehrt aktivieren 4. Umschalten auf das Produktionssystem 5. Ursprüngliche Standby-Funktionalität aktivieren NICHT MÖGLICH, DA BEIDE SYSTEME FÜR STANDBY DEN GLEICHEN STAND HABEN MÜSSEN!!! Hochverfügbarkeit Herrmann & Lenz Services 16 Maintenance Neues Anwendungsrelease • Kein Problem: Geplante Auszeit • Backup des alten Standes • Einspielen der entsprechenden Upgrade-Skripte • Testen der Anwendung • Produktionsstart Beispiel: • Neues Release unter Compaq True64 und Oracle 7.3.4 • Größe der Datenbank: ca. 300 GByte Geplante Auszeit: 48 Stunden • Am Schluss noch eine kosmetische Korrektur (Wert für "ungültig" von NULL auf 9999 gesetzt => WHERE-Klausel im Update-Skript vergessen!!! Hochverfügbarkeit Herrmann & Lenz Services 17 Lösungsvorschläge Hardwarefehler • High-Availability Lösungen • Oracle Parallel Server / Real Application Cluster • Oracle Data Guard • Oracle Replikation • Quest Shareplex • Libelle DBShadow • EMC2 SRDF Hochverfügbarkeit Herrmann & Lenz Services 18 Lösungsvorschläge Softwarefehler • Oracle Data Guard • Oracle Replikation • Quest Shareplex • Libelle DBShadow • EMC2 BCV Hochverfügbarkeit Herrmann & Lenz Services 19 Lösungsvorschläge Maintenance • Oracle Replikation • Quest Shareplex Hochverfügbarkeit Herrmann & Lenz Services 20 ES GIBT NICHT DIE LÖSUNG FÜR ALLE PROBLEME!!! Hochverfügbarkeit Herrmann & Lenz Services 21 Grundregel Regelmäßiges Backup der Datenbank Verwendung des Oracle Recovery Managers • Mit dem Recovery Manager kann man innerhalb weniger Minuten ein Backup – und Recovery Skript aufsetzen. Vorbereitungen fürs Backup: % rman RMAN> RMAN> RMAN> target=system/manager@SUNDB CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE DEVICE TYPE DISK PARALLELISM 3; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ="/oradata2/backup/%d_%s_%T"; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/%F.ctl'; Hochverfügbarkeit Herrmann & Lenz Services 22 Grundregel Befehl für das Backup: RMAN> BACKUP DATABASE PLUS ARCHIVELOG; Befehl für das Recovery eines Tablespaces: RMAN> RESTORE TABLESPACE TOOLS; RMAN> RECOVER TABLESPACE TOOLS; RMAN> SQL "ALTER TABLESPACE TOOLS ONLINE"; Hochverfügbarkeit Herrmann & Lenz Services 23 Lösungsvorschläge (Beispiele) Oracle Real Application Cluster Standby Datenbank Libelle Informatic DBShadow No-Data-Loss Quest Shareplex Hochverfügbarkeit Herrmann & Lenz Services 24 Oracle Real Application Cluster Voraussetzungen: • Identische Hardware (bis auf Anzahl MEM, CPU) • Identische Oracle Versionen auf den beteiligten Systemen • Spezielle Betriebssystemkomponente (Clustersoftware) Implementierung: • Gleichberechtigter Zugriff von den beteiligten Rechnern auf eine Datenbank • Datenbank muss in der Regel auf sog. Raw-Devices installiert werden • Über Oracle Net ist Load-Balancing und Transparent Application Failover möglich Hochverfügbarkeit Herrmann & Lenz Services 25 Real Application Cluster Instanz A Redolog Thread 1 Hochverfügbarkeit DLM Datenbank Herrmann & Lenz Services Instanz B Redolog Thread 2 26 Oracle Real Application Cluster Vorteil: • Kombination von Hardware-Fehlertoleranz und Skalierbarkeit • Vorhandene Anwendungen können weiter verwendet werden • Schnelle Umschaltungen auf verbleibende Systeme möglich Nachteil: • Kosten (spezielle Hardware, Betriebssystem und Oracle Lizenzen) • Kein Schutz bei Plattenfehlern • Kein Schutz bei Rechenzentrumsausfall • Kein Schutz vor Software bzw. Anwendungsfehler • Keine Rolling-Upgrades möglich Hochverfügbarkeit Herrmann & Lenz Services 27 Standby Datenbank Voraussetzungen: • Identische Hardware (bis auf Anzahl MEM, CPU) • Identische Oracle Versionen auf den beteiligten Systemen Implementierung: • Auf einem zweiten System (Schattendatenbank) wird eine Kopie der Produktionsdatenbank aufgebaut • Alle archivierten Redolog-Dateien werden auf die Schattendatenbank übertragen und dort "recovered" • Schattendatenbank kann für lesenden Zugriff geöffnet werden, dann erfolgt aber kein Recovery! Hochverfügbarkeit Herrmann & Lenz Services 28 Standby-Datenbank Copy LGWR Recovery ARC0 Datenbank Datenbank Redologs Sekundäre Datenbank oder Schattendatenbank Primäre Datenbank Hochverfügbarkeit Herrmann & Lenz Services 29 Standby-Datenbank Vorteil: • Durch zeitversetzte Übertragung Eliminierung von Anwendungsfehlern • Räumliche Trennung auch über Kilometer • Kostengünstig (?) Nachteil: • Aufwendiger Umschaltvorgang • Keine Übertragung von Strukturänderungen • Zweites System kann nicht produktiv genutzt werden • Keine Rolling-Upgrades möglich Hochverfügbarkeit Herrmann & Lenz Services 30 Data Guard Oracle Software für das Einrichten und die Pflege von Standby Datenbanken Wizard-basierte Konfiguration von StandbyDatenbanken Automatische Übertragung der Redolog-Dateien Alert-System über Oracle Enterprise Manager Advanced Events Nur für Enterprise Edition Hochverfügbarkeit Herrmann & Lenz Services 31 Libelle DBShadow Automatische Konfiguration der Standby-Datenbank Automatische Übertragung von Stukturänderungen Einfache Umschaltmechanismen Eigene Agenten überwachen die Produktion und die Standby Datenbank Unterschiedliche Verzögerungen für bestimmte Zeiten möglich Möglichkeit, Online-Redolog-Dateien nachzupflegen! Hochverfügbarkeit Herrmann & Lenz Services 32 Hochverfügbarkeit Herrmann & Lenz Services 33 No-Data-Loss No-Data-Loss Konfiguration (ab Version 9.0) • Jede Transaktion wird lokal und Remote eingetragen • Kein Transaktionsverlust Vorteil (gegenüber Standby): • Einzige Software-Lösung ohne Datenverlust! Nachteil (gegenüber Standby): • Die Gesamtverfügbarkeit hängt jetzt von der Verfügbarkeit der Einzelkomponenten (beide Rechner + Netzwerk) ab • Nur Enterprise Edition Hochverfügbarkeit Herrmann & Lenz Services 34 Quest Shareplex Voraussetzungen • Zwei (oder mehr) Datenbanken mit Schemaobjekten Implementierung • Replikation von Tabellen und Sequences auf Basis der RedologInformationen • Capture-Prozess liest auf Basis einer Konfigurationsdatei die entsprechenden DML-Operationen aus den Redolog-Dateien • Reader-Prozess übernimmt diese Informationen und liest dann die entsprechenden Datensätze aus der Primärdatenbank aus • Export – Import übertragen die Datensätze auf die Sekundärdatenbank • Post-Prozess führt die entsprechende DML-Operation auf der Sekundärdatenbank aus Hochverfügbarkeit Herrmann & Lenz Services 35 Quest Shareplex SELECT LGWR Export Import Reader Post Capture Datenbank LGWR Datenbank Redologs Redologs Primärdatenbank Hochverfügbarkeit DML Sekundärdatenbank Herrmann & Lenz Services 36 Quest Shareplex Vorteil: • Zwei unabhängige Datenbanken • Rolling Upgrades möglich • Räumliche Trennung auch über Kilometer • Zeitversetztes Nachpflegen der Änderungen möglich Nachteil: • Objekte (Tabellen, Sequences) müssen einzeln verwaltet werden • Keine Übernahme von Strukturänderungen • Datenverlust möglich (letzten n Transaktionen) • Kosten (muss für jeden Rechner lizenziert werden) Hochverfügbarkeit Herrmann & Lenz Services 37 Weitere Informationen www.hl-services.de [email protected] Schulung: Oracle9i Datenbank-Administration Kompaktkurs Hochverfügbarkeit Herrmann & Lenz Services 38