Backup und Recovery sehr großer Datenbanken
Persönlicher Hintergrund Consultant bei Ingres und anschließend ASK/Ingres Seit 1992 freiberuflicher Berater im Umfeld Ingres Performanceanalyse und Tuning Remote DBA, DBA auf Zeit Inhousetraining Analyse/Begleitung/Durchführung von Projekten Kontakt: weisenberger-consulting@t-online.de
Übersicht Installation Mögliche Arten der Datenbanksicherung Vor-/Nachteile Darstellung der gewählten Möglichkeit Recovery der DB
Installation Bestehende Installation Rechner Intel basiert 4 CPU Platten HP EVA SAN System (17 TB) BS: RedHat Linux Datenbank ca. 5 TB (23 Datalokationen)
Sicherungsarten Sicherung mit BS Mitteln Sicherung mit Plattenspiegeln Sicherung mit Ingres Mitteln Unload DB Checkpoint DB / Tabelle(n) Online Offline
Checkpoint von Tabellen Möglichkeit Tabellen online zu sichern Recovery nur auf einem bestehenden Datenbank Checkpoint Alle DDL Befehle machen ckp invalid (danach sofort wieder neuen Tabellen Ckp)
Genereller Ablauf DBMS /BS Lesen 5TB DB Schreiben 600 GB ckp Schreiben dmp jnl log
Performanceabschätzung Maximaler IO Durchsatz: 80 - 100 MB/sec Ca 350 GB / Stunde 5TB lesen ca 14 Stunden CKP schreiben ca 2 Stunden
Online Checkpoint Ablauf Sperre die Datenbank Setze einen Controll Lock Schreibe SBACKUP log record Veranlasse einen Consistency Point Erlaube Datenbankzugriff (außer DDL)
Online Checkpoint Ablauf Führe aus dem Checkpoint Template File aus: für alle Lokationen Begin (B) je Lokation Prework (P) und Work (W) für alle Lokationen End (E) 7. Schreibe EBACKUP Log Record 8. Update Konfigurationsfile 9. Gebe Datenbank frei (auch DDL)
Checkpoint Template File $II_SYSTEM/ingres/files/cktmpl.def II_CKTMPL_FILE=<filename> Aufbau: <4 Buchstaben> Befehl Begin Pre-work Work End Initialize Finish Save Restore Journal Delete Check dUmp Disk Tape Every Database Table AllDB Raw Every
Checkpoint Template File Checkpoint Parameter %A Pfad für gesicherten File %B Tabellen Filename (ohne Pfad) %C Checkpoint Pfad %D Pfadname der Datenlokation %E Pfad für Datenfile (Tabelle) %F Filename ckp File (ohne Pfad) %G Anzahl der Datenfiles %H Anzahl der Datenfiles in der Lokation u.a.
Checkpoint Template File Gültige Kombinationen Checkpoint B S [T,D,E] [T,D,E] P S [T,D,E] [T,D,E] W S [T,D,E] [T,D,E] E S [T,D,E] [T,D,E]
Realisation Schritt1 Eigenes Skript, welches Sicherung mehrer DB Files parallel durchführt + Sicherung erfolgt parallel - Sicherung erfolgt je Lokation nacheinander -> Zeitbedarf ca 35 – 40 Stunden
Ckp mit Option #cn Workingsektion des Template Files wird je n Lokationen parallel ausgeführt + Sicherung erfolgt parallel - Je Lokation ein Sicherungsthread - Nach je n Lokationen Synchronisierung der Threads
Realisation Sicherung wöchentlich Samstag Eigenes Skript, welches Sicherung parallel durchführt WSDD: /bin/echo %D %C %F >> /users/ingres/source/ckp/work/ckp_files_todo ESDD: /users/ingres/source/ckp/par_ckp -> Zeitbedarf ca 18 - 20 Stunden
Verbesserungspotential Verbunden mit DB Design Änderung und Änderung der Applikation Trennung von Historien- und Produktivdaten Verbunden mit Hard/Softwareinvestitionen Plattenspiegelung -> BS Upgrade -> Platten für 3. Spiegel Schnellerer I/O -> CPU Upgrade / Plattenupgrade
Recovery Selbstgeschriebenes Programm WRDD: /users/ingres/source/ckp/par_rollfwd %D %C %F Zeitbedarf: je nach Tag des Fehlers
Fragen ?