Sie sind auf Seite 1von 36
Oracle Datenbank - Recovery H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank-Recovery / 1 ©Η.− G.Hopf

Oracle Datenbank - Recovery

H.-G. Hopf

Georg-Simon-Ohm Fachhochschule Nürnberg

Inhaltsverzeichnis

Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery

Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery

Inhaltsverzeichnis

Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 3
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 3

Transaktionsablauf

Prozess - Recovery Instanz - Recovery Medium - Recovery

Transaktionsablauf Ziel:

Transaktionsablauf Ziel: » Keine Fehlersituation darf zum Verlust von Transaktionen führen Maßnahmen » Verfahren
Transaktionsablauf Ziel: » Keine Fehlersituation darf zum Verlust von Transaktionen führen Maßnahmen » Verfahren

» Keine Fehlersituation darf zum Verlust von Transaktionen führen

Maßnahmen

» Verfahren zur Erhaltung / Wiederherstellung der Konsistenz

» Fehlerspezifische Verfahren

Transaktionsablauf

Transaktionsablauf Fehlerarten Konsequenzen » Absturz eines Benutzerprogramms » Absturz des Datenbanksystems »
Transaktionsablauf Fehlerarten Konsequenzen » Absturz eines Benutzerprogramms » Absturz des Datenbanksystems »

Fehlerarten

Konsequenzen

» Absturz eines Benutzerprogramms

» Absturz des Datenbanksystems

» Absturz des Betriebssystems

» Beschädigung der Datenbank-Dateien auf Grund eines Festplattenfehlers

» Transaktionen werden abnormal beendet

Transaktionsablauf

Transaktionsablauf Fehlerarten Recovery Verfahren » Absturz eines Benutzerprogramms » Prozess - Recovery » Absturz des
Transaktionsablauf Fehlerarten Recovery Verfahren » Absturz eines Benutzerprogramms » Prozess - Recovery » Absturz des

Fehlerarten

Recovery Verfahren

» Absturz eines Benutzerprogramms

» Prozess - Recovery

» Absturz des Datenbanksystems

» Absturz des Betriebssystems

» Instanz - Recovery

» Beschädigung der Datenbank-Dateien auf Grund eines Festplattenfehlers

» Medium - Recovery

Logische Datenbankstruktur

Logische Datenbankstruktur DB Objekt Art File Ist_zugeordnet Besteht_aus Tablespace DB Ist_zugeordnet Data S
DB Objekt Art File Ist_zugeordnet Besteht_aus Tablespace DB Ist_zugeordnet Data S Table Segment Index S
DB Objekt
Art
File
Ist_zugeordnet
Besteht_aus
Tablespace
DB
Ist_zugeordnet
Data S
Table
Segment
Index S
Index
Ist_zugeordnet
Rollback S
Extend
Temporary S
DB-Block
Datensatz
Art

SW-Architektur / DB-Cache

SW-Architektur / DB-Cache System Global Area (SGA)} » Die System Global Area ist unterteilt in die
SW-Architektur / DB-Cache System Global Area (SGA)} » Die System Global Area ist unterteilt in die

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.

Transaktionsablauf

Transaktionsablauf Prozess DB-Cache Rollback- DB-Block REDO-Log Segment Puffer Puffer Puffer 1 3 1000 1000 1000
Transaktionsablauf Prozess DB-Cache Rollback- DB-Block REDO-Log Segment Puffer Puffer Puffer 1 3 1000 1000 1000

Prozess

DB-Cache

Rollback- DB-Block REDO-Log Segment Puffer Puffer Puffer 1 3 1000 1000 1000 2 4 2000
Rollback-
DB-Block
REDO-Log
Segment
Puffer
Puffer
Puffer
1
3
1000
1000
1000
2
4
2000
2000
5
COMMIT
0
6
1 3 1000 1000 1000 2 4 2000 2000 5 COMMIT 0 6 UPDATE mitarbeiter SET
1 3 1000 1000 1000 2 4 2000 2000 5 COMMIT 0 6 UPDATE mitarbeiter SET

UPDATE mitarbeiter SET gehalt = 2000 WHERE gehalt = 1000

COMMIT;

DB Files

REDO-LOG

Files

Inhaltsverzeichnis

Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 10
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 10

Transaktionsablauf

Prozess - Recovery

Instanz - Recovery Medium - Recovery

Prozess - Recovery Ausgangssituation

Prozess - Recovery Ausgangssituation » Benutzerprogramm stürzt während einer Transaktion ab. » Konsequenzen: –
Prozess - Recovery Ausgangssituation » Benutzerprogramm stürzt während einer Transaktion ab. » Konsequenzen: –

» Benutzerprogramm stürzt während einer Transaktion ab. » Konsequenzen:

– Der Datenbestand ist inkonsistent – Datensätze werden durch einen nicht mehr existenten Prozess gesperrt

Prozess - Recovery

Prozess - Recovery Prozess DB-Cache Rollback- DB-Block REDO-Log Segment Puffer Puffer Puffer 1 3 1000 1000
Prozess - Recovery Prozess DB-Cache Rollback- DB-Block REDO-Log Segment Puffer Puffer Puffer 1 3 1000 1000

Prozess

DB-Cache

Rollback- DB-Block REDO-Log Segment Puffer Puffer Puffer 1 3 1000 1000 1000 2 4 2000
Rollback-
DB-Block
REDO-Log
Segment
Puffer
Puffer
Puffer
1
3
1000
1000
1000
2
4
2000
2000
5
COMMIT
Datensatz
0
exklusiv
6
gesperrt
gesperrt
4 2000 2000 5 COMMIT Datensatz 0 exklusiv 6 gesperrt UPDATE mitarbeiter SET gehalt = 2000
4 2000 2000 5 COMMIT Datensatz 0 exklusiv 6 gesperrt UPDATE mitarbeiter SET gehalt = 2000

UPDATE mitarbeiter SET gehalt = 2000 WHERE gehalt = 1000

COMMIT;

DB Files

REDO-LOG

Files

Prozess - Recovery Maßnahme

Prozess - Recovery Maßnahme » Der PMON Hintergrundprozess – wird alle 20s aktiviert – stellt fest,
Prozess - Recovery Maßnahme » Der PMON Hintergrundprozess – wird alle 20s aktiviert – stellt fest,

» 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

Inhaltsverzeichnis

Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 14
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery / 14

Transaktionsablauf Prozess - Recovery

Instanz - Recovery

Medium - Recovery

Instanz - Recovery Ausgangssituation

Instanz - Recovery Ausgangssituation » DB-Instanz oder Betriebssystem stürzen ab » Viele Prozesse können ihre
Instanz - Recovery Ausgangssituation » DB-Instanz oder Betriebssystem stürzen ab » Viele Prozesse können ihre

» 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

Instanz - Recovery Analyse

Instanz - Recovery Analyse . . . . . . . . . ! ! .
Instanz - Recovery Analyse . . . . . . . . . ! ! .
. . . . . . . . . ! ! . ! !
.
.
.
.
.
.
.
.
.
!
!
.
!
!

Stürner, 1993

. . . . . . . . . ! ! . ! ! Stürner, 1993

Instanz - Recovery Analyse

Instanz - Recovery Analyse . . . . . . . . . ! ! .
Instanz - Recovery Analyse . . . . . . . . . ! ! .
. . . . . . . . . ! ! . ! !
.
.
.
.
. . .
. .
!
!
.
! !

Stürner, 1993

. . . . . . . . . ! ! . ! ! Stürner, 1993

Instanz - Recovery Maßnahme

Instanz - Recovery Maßnahme » Der SMON Hintergrundprozess – wird beim Starten der Datenbank aufgerufen –
Instanz - Recovery Maßnahme » Der SMON Hintergrundprozess – wird beim Starten der Datenbank aufgerufen –

» 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

Instanz - Recovery Maßnahme

Instanz - Recovery Maßnahme 2000 München COMMIT ! ROLLBACK Stürner, 1993 Datenbank-Recovery / 19 ©Η.−
Instanz - Recovery Maßnahme 2000 München COMMIT ! ROLLBACK Stürner, 1993 Datenbank-Recovery / 19 ©Η.−
2000 München
2000
München

COMMIT

! ROLLBACK

Stürner, 1993

Maßnahme 2000 München COMMIT ! ROLLBACK Stürner, 1993 Datenbank-Recovery / 19 ©Η.− G.Hopf / 10.04.2003

Instanz - Recovery Ergebnis

Instanz - Recovery Ergebnis » DB ist wieder in konsistentem Zustand: – Alle zum Ausfallzeitpunkt abgeschlossenen
Instanz - Recovery Ergebnis » DB ist wieder in konsistentem Zustand: – Alle zum Ausfallzeitpunkt abgeschlossenen

» 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

Instanz - Recovery Aufsetzzeitpunkte (Checkpoint)

Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) » definieren konsistenten Datenbankzustand – DBWR-Prozess schreibt
Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) » definieren konsistenten Datenbankzustand – DBWR-Prozess schreibt

» definieren konsistenten Datenbankzustand

– DBWR-Prozess schreibt alle bis zu diesem Zeitpunkt modifizierten DB-Blöcke in DB – Checkpoint wird im Kontrollfile protokolliert

Instanz - Recovery

Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) systemweit festlegen » automatische Checkpoint-Definition – REDO-Log
Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) systemweit festlegen » automatische Checkpoint-Definition – REDO-Log

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

Instanz - Recovery

Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) lokal festlegen » automatische Checkpoint-Definition – zu Beginn des
Instanz - Recovery Aufsetzzeitpunkte (Checkpoint) lokal festlegen » automatische Checkpoint-Definition – zu Beginn des

Aufsetzzeitpunkte (Checkpoint) lokal festlegen

» automatische Checkpoint-Definition

– zu Beginn des ONLINE-Backups eines Tablespaces – beim OFFLINE-Schalten (normal, temporary) eines Tablespaces

Instanz - Recovery

Instanz - Recovery Zustand Parameter NORMAL TEMPORARY IMMEDIATE ONLINE Tablespace = SYSTEM Tablespace OFFLINE
Instanz - Recovery Zustand Parameter NORMAL TEMPORARY IMMEDIATE ONLINE Tablespace = SYSTEM Tablespace OFFLINE
Zustand Parameter NORMAL TEMPORARY IMMEDIATE ONLINE Tablespace = SYSTEM Tablespace OFFLINE ONLINE OFFLINE
Zustand
Parameter
NORMAL
TEMPORARY
IMMEDIATE
ONLINE
Tablespace
= SYSTEM
Tablespace
OFFLINE
ONLINE
OFFLINE
Files
Files
ALTER TABLESPACE
OFFLINE [Parameter]
ALTER TABLESPACE
ONLINE
Checkpoint
Checkpoint
Medium Recovery
Medium Recovery

Inhaltsverzeichnis

Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery /
Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery Medium - Recovery Datenbank-Recovery /

Transaktionsablauf Prozess - Recovery Instanz - Recovery

Medium - Recovery

Medium - Recovery Voraussetzungen

Medium - Recovery Voraussetzungen » Betrieb im ARCHIVELOG-Modus » REDO-LOG-Dateien müssen über ARCH-
Medium - Recovery Voraussetzungen » Betrieb im ARCHIVELOG-Modus » REDO-LOG-Dateien müssen über ARCH-

» 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

Medium - Recovery Maßnahmen

Medium - Recovery Maßnahmen » Recovery durch DBA eingeleitet mit SQL*DBA – Einspielen der Backup-Dateien –
Medium - Recovery Maßnahmen » Recovery durch DBA eingeleitet mit SQL*DBA – Einspielen der Backup-Dateien –

» Recovery durch DBA eingeleitet mit SQL*DBA

– Einspielen der Backup-Dateien – Bereitstellen der REDOLOG-Dateien

Medium - Recovery

Medium - Recovery Anforderung an Recovery - Verfahren werden beeinflußt durch » große Datenmengen / kleine
Medium - Recovery Anforderung an Recovery - Verfahren werden beeinflußt durch » große Datenmengen / kleine

Anforderung an Recovery - Verfahren werden beeinflußt durch

» große Datenmengen / kleine Datenmengen

» online / offline

» vollständige / teilweise Wiederherstellung

Medium - Recovery Betriebs - Modi

Medium - Recovery Betriebs - Modi Stürner, 1993 Datenbank-Recovery / 29 ©Η.− G.Hopf / 10.04.2003
Medium - Recovery Betriebs - Modi Stürner, 1993 Datenbank-Recovery / 29 ©Η.− G.Hopf / 10.04.2003
Medium - Recovery Betriebs - Modi Stürner, 1993 Datenbank-Recovery / 29 ©Η.− G.Hopf / 10.04.2003

Stürner, 1993

Medium - Recovery Betriebs - Modi Stürner, 1993 Datenbank-Recovery / 29 ©Η.− G.Hopf / 10.04.2003

Medium - Recovery INIT.ORA - Parameter

Medium - Recovery INIT.ORA - Parameter » Start des Archivierungsprozesses mit Start der Datenbankinstanz –
Medium - Recovery INIT.ORA - Parameter » Start des Archivierungsprozesses mit Start der Datenbankinstanz –

» 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

Medium - Recovery

Medium - Recovery NOARCHIVELOG - Modus ARCHIVELOG- Modus Backup » aller DB-Dateien » Online-REDOLOG- Dateien »
Medium - Recovery NOARCHIVELOG - Modus ARCHIVELOG- Modus Backup » aller DB-Dateien » Online-REDOLOG- Dateien »

NOARCHIVELOG - Modus

ARCHIVELOG- Modus

Backup

» aller DB-Dateien

» Online-REDOLOG- Dateien

» Kontroll-Dateien

Backup

» aller DB-Dateien

» Online-REDOLOG- Dateien

» Kontroll-Dateien

Maßnahme

Maßnahme

» Restore

» kompletter / partieller Backup
» online / offline Backup

» kompletter / partieller Backup » online / offline Backup Datenbank-Recovery / 31 ©Η.− G.Hopf /

Medium - Recovery Recovery - Strategie

Medium - Recovery Recovery - Strategie DB online DB offline Datenbank / Datenbankbereich ist in Betrieb
Medium - Recovery Recovery - Strategie DB online DB offline Datenbank / Datenbankbereich ist in Betrieb

DB online

DB offline

Datenbank / Datenbankbereich ist in Betrieb beliebige Datenbankoperationen sind möglich

Datenbank / Datenbankbereich ist nicht nutzbar

Medium - Recovery Recovery - Strategie

Medium - Recovery Recovery - Strategie DB online DB offline ALTER TABLESPACE <ts_name> BEGIN BACKUP ALTER
Medium - Recovery Recovery - Strategie DB online DB offline ALTER TABLESPACE <ts_name> BEGIN BACKUP ALTER

DB online

DB offline

ALTER TABLESPACE <ts_name> BEGIN BACKUP

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

Medium - Recovery Recovery - Strategie

Medium - Recovery Recovery - Strategie DB online DB offline 1. Alle modifizieren DB-Blöcke aus dem
Medium - Recovery Recovery - Strategie DB online DB offline 1. Alle modifizieren DB-Blöcke aus dem

DB online

DB offline

1. Alle modifizieren DB-Blöcke aus dem DB-Cache werden in die DB - Dateien geschrieben

2. Weitere Checkpoints verändern Datei-Header nicht

geschrieben 2. Weitere Checkpoints verändern Datei-Header nicht Datenbank-Recovery / 34 ©Η.− G.Hopf / 10.04.2003

Medium - Recovery Recovery - Strategie

Medium - Recovery Recovery - Strategie Partieller Backup DB online DB offline Große DB 24h Betrieb
Medium - Recovery Recovery - Strategie Partieller Backup DB online DB offline Große DB 24h Betrieb

Partieller

Backup

DB online

DB offline

Große DB 24h Betrieb

Große DB

---

kompletter Backup ARCHIVELOG Mittlere DB 24h Betrieb -Modus
kompletter
Backup
ARCHIVELOG
Mittlere DB
24h Betrieb
-Modus
Backup ARCHIVELOG Mittlere DB 24h Betrieb -Modus NOARCHIVELOG -Modus Datenbank-Recovery / 35 ©Η.−
NOARCHIVELOG -Modus
NOARCHIVELOG
-Modus

Medium - Recovery Recovery - Strategie

Medium - Recovery Recovery - Strategie » Recovery der ganzen Datenbank – RECOVER DATABASE » Recovery
Medium - Recovery Recovery - Strategie » Recovery der ganzen Datenbank – RECOVER DATABASE » Recovery

» Recovery der ganzen Datenbank

RECOVER DATABASE

» Recovery eines Tablespaces

RECOVER TABLESPACE <ts_name>

» Recovery einer Datei

RECOVER DATAFILE <filename>