Oracle Datenbank - Recovery H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank-Recovery / 1 Η. G.Hopf / 10.04.2003
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 2 Η. G.Hopf / 10.04.2003
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 3 Η. G.Hopf / 10.04.2003
Transaktionsablauf Ziel:» Keine Fehlersituation darf zum Verlust von Transaktionen führen Maßnahmen» Verfahren zur Erhaltung / Wiederherstellung der Konsistenz» Fehlerspezifische Verfahren Datenbank-Recovery / 4 Η. G.Hopf / 10.04.2003
Transaktionsablauf Fehlerarten» Absturz eines Benutzerprogramms» Absturz des Datenbanksystems» Absturz des Betriebssystems» Beschädigung der Datenbank-Dateien auf Grund eines Festplattenfehlers Konsequenzen» Transaktionen werden abnormal beendet Datenbank-Recovery / 5 Η. G.Hopf / 10.04.2003
Transaktionsablauf Fehlerarten» Absturz eines Benutzerprogramms» Absturz des Datenbanksystems» Absturz des Betriebssystems» Beschädigung der Datenbank-Dateien auf Grund eines Festplattenfehlers Recovery Verfahren» Prozess - Recovery» Instanz - Recovery» Medium - Recovery Datenbank-Recovery / 6 Η. G.Hopf / 10.04.2003
Logische Datenbankstruktur File Ist_zugeordnet Besteht_aus Tablespace DB Segment Art Data S Index S Ist_zugeordnet Table Index Art DB Objekt Rollback S Ist_zugeordnet Extend Temporary S DB-Block Datensatz Datenbank-Recovery / 7 Η. G.Hopf / 10.04.2003
SW-Architektur / DB-Cache System Global Area (SGA)}» Die System Global Area ist unterteilt in die Bereiche: Data Buffer Cache: Zwischenspeicherung der zuletzt bearbeiteten DB-Blöcke. Dictionary Cache: Zwischenspeicherung von Data-Dictionary Information. Redo Log Buffer: Zwischenspeicherung von REDO-Log Informationen bezüglich Transaktionen Shared SQL Pool: Zwischenspeicherung von übersetztem und ausführbarem SQL-Code. Datenbank-Recovery / 8 Η. G.Hopf / 10.04.2003
Transaktionsablauf UPDATE mitarbeiter SET gehalt = 2000 WHERE gehalt = 1000 COMMIT; Prozess 0 DB-Block Puffer DB-Cache Rollback- Segment Puffer REDO-Log Puffer 1000 1 1000 3 1000 2 2000 4 2000 5 COMMIT 6 DB Files REDO-LOG Files Datenbank-Recovery / 9 Η. G.Hopf / 10.04.2003
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 10 Η. G.Hopf / 10.04.2003
Prozess - Recovery Ausgangssituation» Benutzerprogramm stürzt während einer Transaktion ab.» Konsequenzen: Der Datenbestand ist inkonsistent Datensätze werden durch einen nicht mehr existenten Prozess gesperrt Datenbank-Recovery / 11 Η. G.Hopf / 10.04.2003
Prozess - Recovery UPDATE mitarbeiter SET gehalt = 2000 WHERE gehalt = 1000 COMMIT; Prozess 0 DB-Block Puffer DB-Cache Rollback- Segment Puffer REDO-Log Puffer 1000 1 1000 3 1000 2 2000 4 2000 Datensatz exklusiv gesperrt 5 COMMIT 6 DB Files REDO-LOG Files Datenbank-Recovery / 12 Η. G.Hopf / 10.04.2003
Prozess - Recovery Maßnahme» Der PMON Hintergrundprozess wird alle 20s aktiviert stellt fest, dass Datensätze von einem nicht mehr existenten Prozess gesperrt werden initiiert ein Rollback für diesen Prozess hebt Sperrung von Datensätzen auf Datenbank-Recovery / 13 Η. G.Hopf / 10.04.2003
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 14 Η. G.Hopf / 10.04.2003
Instanz - Recovery Ausgangssituation» DB-Instanz oder Betriebssystem stürzen ab» Viele Prozesse können ihre Transaktionen nicht ordnungsgemäß beenden» Konsequenzen: Der Datenbestand ist inkonsistent Datensätze werden durch einen nicht mehr existenten Prozess gesperrt Datenbank-Recovery / 15 Η. G.Hopf / 10.04.2003
Instanz - Recovery Analyse!!!! Stürner, 1993 Datenbank-Recovery / 16 Η. G.Hopf / 10.04.2003
Instanz - Recovery Analyse!!!! Stürner, 1993 Datenbank-Recovery / 17 Η. G.Hopf / 10.04.2003
Instanz - Recovery Maßnahme» Der SMON Hintergrundprozess wird beim Starten der Datenbank aufgerufen stellt mit Hilfe der REDO-Log-Information Zustand der Transaktion zum Absturzzeitpunkt fest führt COMMIT oder ROLLBACK durch Datenbank-Recovery / 18 Η. G.Hopf / 10.04.2003
Instanz - Recovery Maßnahme 2000 München COMMIT! ROLLBACK Stürner, 1993 Datenbank-Recovery / 19 Η. G.Hopf / 10.04.2003
Instanz - Recovery Ergebnis» DB ist wieder in konsistentem Zustand: Alle zum Ausfallzeitpunkt abgeschlossenen Transaktionen sind permanent gemacht Alle zum Ausfallzeitpunkt nicht abgeschlossenen Transaktionen sind rückgängig gemacht Datenbank-Recovery / 20 Η. G.Hopf / 10.04.2003
Instanz - Recovery Aufsetzzeitpunkte (Checkpoint)» definieren konsistenten Datenbankzustand DBWR-Prozess schreibt alle bis zu diesem Zeitpunkt modifizierten DB-Blöcke in DB Checkpoint wird im Kontrollfile protokolliert Datenbank-Recovery / 21 Η. G.Hopf / 10.04.2003
Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) systemweit festlegen» automatische Checkpoint-Definition REDO-Log Datei wird gewechselt» DBA definiert durch INIT.ORA Parameter zur Festlegung wann Checkpoint durchgeführt wird: nach LOG_CHECKPOINT_INTERVALL Betriebssystem-Blöcken (z.b. 20000) nach LOG_CHECKPOINT_TIMEOUT Sekunden Datenbank-Recovery / 22 Η. G.Hopf / 10.04.2003
Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) lokal festlegen» automatische Checkpoint-Definition zu Beginn des ONLINE-Backups eines Tablespaces beim OFFLINE-Schalten (normal, temporary) eines Tablespaces Datenbank-Recovery / 23 Η. G.Hopf / 10.04.2003
Instanz - Recovery Zustand ONLINE Tablespace = SYSTEM Tablespace OFFLINE Parameter NORMAL TEMPORARY IMMEDIATE ALTER TABLESPACE... OFFLINE [Parameter] ALTER TABLESPACE... ONLINE Checkpoint Checkpoint Medium Recovery Medium Recovery ONLINE Files OFFLINE Files Datenbank-Recovery / 24 Η. G.Hopf / 10.04.2003
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 25 Η. G.Hopf / 10.04.2003
Medium - Recovery Voraussetzungen» Betrieb im ARCHIVELOG-Modus» REDO-LOG-Dateien müssen über ARCH- Hintergrundprozess archiviert werden» periodisches Backup von Datenbank- Dateien und Kontroll-Dateien offline - Backup online - Backup Datenbank-Recovery / 26 Η. G.Hopf / 10.04.2003
Medium - Recovery Maßnahmen» Recovery durch DBA eingeleitet mit SQL*DBA Einspielen der Backup-Dateien Bereitstellen der REDOLOG-Dateien Datenbank-Recovery / 27 Η. G.Hopf / 10.04.2003
Medium - Recovery Anforderung an Recovery - Verfahren werden beeinflußt durch» große Datenmengen / kleine Datenmengen» online / offline» vollständige / teilweise Wiederherstellung Datenbank-Recovery / 28 Η. G.Hopf / 10.04.2003
Medium - Recovery Betriebs - Modi Stürner, 1993 Datenbank-Recovery / 29 Η. G.Hopf / 10.04.2003
Medium - Recovery INIT.ORA - Parameter» Start des Archivierungsprozesses mit Start der Datenbankinstanz log_archive_start = true/false» Verzeichnis für Archivierungsdateien log_archive_dest» Namenskonvention für Archivierungsdateien log_archive_format Datenbank-Recovery / 30 Η. G.Hopf / 10.04.2003
Medium - Recovery NOARCHIVELOG - Modus ARCHIVELOG- Modus Backup» aller DB-Dateien» Online-REDOLOG- Dateien» Kontroll-Dateien Maßnahme» Restore Backup» aller DB-Dateien» Online-REDOLOG- Dateien» Kontroll-Dateien Maßnahme» kompletter / partieller Backup» online / offline Backup Datenbank-Recovery / 31 Η. G.Hopf / 10.04.2003
Medium - Recovery Recovery - Strategie DB online Datenbank / Datenbankbereich ist in Betrieb beliebige Datenbankoperationen sind möglich DB offline Datenbank / Datenbankbereich ist nicht nutzbar Datenbank-Recovery / 32 Η. G.Hopf / 10.04.2003
Medium - Recovery Recovery - Strategie ALTER TABLESPACE <ts_name> BEGIN BACKUP DB online DB offline ALTER TABLESPACE <ts_name> END BACKUP ALTER DATABASE BACKUP CONTROLFILE TO <Filename> ALTER TABLESPACE <ts_name> OFFLINE NORMAL; $Backup <ts_dateien> TO <backup_verzeichnis> ALTER TABLESPACE <ts_name> ONLINE; Kopie der Kontroll-Datei Datenbank-Recovery / 33 Η. G.Hopf / 10.04.2003
Medium - Recovery Recovery - Strategie DB online 1. Alle modifizieren DB-Blöcke aus dem DB-Cache werden in die DB - Dateien geschrieben 2. Weitere Checkpoints verändern Datei-Header nicht DB offline Datenbank-Recovery / 34 Η. G.Hopf / 10.04.2003
Medium - Recovery Recovery - Strategie Partieller Backup kompletter Backup DB online Große DB 24h Betrieb Mittlere DB 24h Betrieb ARCHIVELOG -Modus DB offline Große DB --- NOARCHIVELOG -Modus Datenbank-Recovery / 35 Η. G.Hopf / 10.04.2003
Medium - Recovery Recovery - Strategie» Recovery der ganzen Datenbank RECOVER DATABASE» Recovery eines Tablespaces RECOVER TABLESPACE <ts_name>» Recovery einer Datei RECOVER DATAFILE <filename> Datenbank-Recovery / 36 Η. G.Hopf / 10.04.2003