190 likes | 303 Views
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
E N D
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 Lesen 5TB DBMS /BS DB Schreiben 600 GB ckp Schreiben Schreiben 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 CheckpointAblauf • Sperre die Datenbank • Setze einen Controll Lock • Schreibe SBACKUP log record • Veranlasse einen Consistency Point • Erlaube Datenbankzugriff (außer DDL)
Online CheckpointAblauf • 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-workWork End Initialize Finish • Save RestoreJournal Delete Check • dUmp • Disk Tape Every • Database Table AllDBRawEvery
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 Filenameckp File (ohne Pfad) • %G Anzahl der Datenfiles • %H Anzahl der Datenfiles in der Lokation • u.a.
Checkpoint Template File • Gültige Kombinationen Checkpoint • BS [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 ?