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: [email protected]
Ü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
ckp
dmp
log
DBMS /BSDB
jnl
Lesen 5TB
Schreiben 600 GB
Schreiben
SchreibenSchreiben
Performanceabschätzung
• Maximaler IO Durchsatz: 80 - 100 MB/secCa 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-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 ProgrammWRDD: /users/ingres/source/ckp/par_rollfwd %D %C %F
• Zeitbedarf: je nach Tag des Fehlers
Fragen
?
Top Related