Rama Velpuri Anand Adkoli Oracle8 & Recovery Handbuch Carl Hanser Verlag München Wien
:M : - Die Autoren Vorwort Danksagungen Einleitung XIII XV XVII XIX 1 Ein Überblick über Backup und Recovery 1 1.1 Warum Backups planen? 1 1.2 Warum stürzen Systeme ab? 2 1.3 Hardware-Schutz und Redundante Daten 4 1.4 ARCHIVELOG-Modus und NOARCHIVELOG-Modus im Vergleich 4 1.5 Diagnosefähigkeiten und Fehlersuche im RDBMS 6 1.6 Ein Überblick über Backups 6 1.6.1 Backups mit dem Recovery Manager 7 1.6.2 System-Backups durchführen 8 1.6.3 Offline-Backups 9 1.6.4 Das Online-Backup 10 1.6.5 Das logische Backup - Export 11 1.6.6 Backups automatisieren 12 1.6.7 Was sollten Sie sichern? 13 1.7 Ein Überblick über das Recovery 14 1.7.1 Mögliche Fehler 14 1.7.2 Arten des Recovery 17 1.7.3 Recovery mittels physischer Backups 18 1.7.4 Recovery mittels logischer Backups 19 2 Architektur und Konfiguration von Oracle 21 2.1 Die Oracle-Dateien Ihres Systems 21 2.1.1 Der Oracle-Code 21 2.1.2 Die Datendateien 22
VIII 2.1.3 Die Redo-Log-Dateien 23 2.1.4 Die Steuerdatei 23 2.1.5 Die Datei INIT.ORA 24 2.1.6 Die Protokolldateien von Oracle 25 2.2 Die Funktion der Datenbank 28 2.2.1 Die System Global Area 29 2.2.2 Oracle-Prozesse 32 2.2.3 Das Hoch- und Herunterfahren einer Datenbank 36 2.3 Das Speichern von Daten 39 2.3.1 Tablespaces und Datendateien 40 2.3.2 Partitionen 44 2.3.3 Segmente, Extents und Blöcke 48 2.4 Die Datenbank konfigurieren 64 2.4.1 Steuerdateien verwalten 64 2.4.2 Online-Redo-Log-Gruppen verwalten 67 2.4.3 Archiv-Redo-Log-Gruppen verwalten 70 2.5 Die Parallel-Server-Option konfigurieren 75 3 Die Grundlagen des Backup 77 3.1 Der Datenbankentwurf und grundlegende Regeln des Backup 78 3.2 Physische Backups 80 3.2.1 Offline-Backups 81 3.2.2 Online-Backups 83 3.3 Logische Backups 89 3.3.1 Exportmethoden 91 3.3.2 Exportparameter 91 3.3.3 Exportmodi 92 3.3.4 Vor dem Export 95 3.3.5 Beispiel einer Exportprozedur 96 3.4 Backup-Befehle in verschiedenen Systemumgebungen 96 3.4.1 Backup/Recovery in einer VMS-Umgebung 98 3.4.2 Backup/Recovery in einer UNIX-Umgebung 99 3.4.3 Backup/Recovery in einer IBM MVS-Umgebung 111 3.4.4 Backup/Recovery unter Windows NT 115 3.5 Backups in anderen Umgebungen 118 3.5.1 Überlegungen zum Backup in einer OLTP-Umgebung 119 3.5.2 Überlegungen zum Backup in einer DSS-Umgebung 120 3.5.3 Aktive Standby-Datenbanken 121
IX 4 Backup-Skripts unter Windows NT, UNIX und einer OpenVMS-Umgebung 123 4.1 Backup-Skripts in einer VMS-Umgebung 124 4.1.1 BACKUP_MAIN.COM 125 4.1.2 EXPORT_DATABASE.COM 130 4.1.3 HOT_BACKUP.COM 136 4.1.4 COLD_BACKUP.COM 147 4.1.5 BACKUP_TABLESPACE.COM 160 4.1.6 INSTANCE_UP.COM 165 4.1.7 ENV_SYMBOLS_SAMPLE.COM 167 4.1.8 SHUTD0WN_IMMEDIATE.COM 168 4.1.9 STARTUP_DBAMODE.COM 171 4.1.10 SUBMIT_sample.COM 174 4.1.11 db_name_devices_sample.com 174 4.1.12 Tbsjiotbackup.sql 175 4.1.13 Tbs_coldbackup.sql 175 4.1.14 Tablespace_State.sql 176 4.1.15 Hot_Backup_Sample_Run.log 176 4.2 Backup-Skripts in einer Windows NT-Umgebung 180 4.3 Backup-Skripts in einer UNIX-Umgebung 182 4.3.1 dbbackup 184 4.3.2 dbbackup_begin 189 4.3.3 dbexport_begin 201 4.3.4 dbbackup_sched.dat 204 4.3.5 crontab.env 204 4.3.6 sample_run.log 205 5 Die Grundlagen des Recovery 209 5.1 Definitionen und interne Konzepte des Recovery 210 5.1.1 Das Redo erstellen und einschätzen 210 5.1.2 Die System Change Number (SCN) 213 5.1.3 Redo-Threads 216 5.1.4 Das Redo-Log wechseln 219 5.1.5 Log-Wechsel aufzeichnen 220 5.1.6 Checkpoints 222 5.1.7 Die Historie der Log-Dateien 230 5.1.8 Die Strukturen von Steuer-, Daten- und Log-Dateien 230 5.2 Methoden des Recovery 233 5.2.1 Ein Redo durchführen 233 5.2.2 Einen Block wiederherstellen 238 5.2.3 Einen Thread wiederherstellen 239
X 5.2.4 Medien wiederherstellen 242 5.2.5 Eine Datenbank wiederherstellen und einbinden 247 5.2.6 Recovery eines Tablespace 260 5.2.7 Eine Datendatei wiederherstellen 262 5.2.8 Checkliste für das Recovery einer Datendatei 262 5.2.9 Steuerdatei und Datendateien erstellen 266 5.2.10 Recovery mit Hilfe des Import-Hilfsprogramms 269 5.2.11 Die Datenbank aus einem inkrementellen Export wiederherstellen 271 5.2.12 Strategien des Recovery 271 5.3 Oracle-Recovery-Manager (rman) 274 5.3.1 Der Recovery Catalog 274 5.3.2 Den Recovery Catalog erstellen 274 5.3.3 Die Datenbank im Recovery Catalog registrieren 276 5.4 Backups mit dem Recovery Manager anlegen 277 5.4.1 Backups vollständiger Datenbanken 278 5.4.2 Backups von Tablespaces 282 5.4.3 Backups von Datendateien 284 5.4.4 Backups von Steuerdateien 285 5.4.5 Backups von Archiv-Logs 287 5.4.6 Inkrementelle Backups 289 5.4.7 Den Recovery Catalog ändern 292 5.4.8 Die Berichtsfunktionen des Recovery Managers 292 5.4.9 Skripts des Recovery Managers 294 5.4.10 Diagnosefunktionen des Recovery Managers 295 5.4.11 Die Log-Dateien einer Sitzung des Recovery Managers erkennen 299 5.4.12 Fehlerhafte Blöcke im Recovery Manager erkennen 299 5.5 Disaster-Recovery 301 5.5.1 Konzepte und Begriffe 302 5.5.2 Entscheidung, Entwurf und Planung 309 5.5.3 Vorbereitung 315 5.5.4 Umsetzung 319 5.5.5 Wartung 324 5.5.6 Inbetriebnahme.'. 335 5.6 Fehleranalyse 337 5.6.1 Untersuchung zu Systemausfällen 338 5.6.2 Untersuchung zu heruntergefahrenen Systemen und zur Disaster-Recovery 341 5.6.3 Empfehlungen für eine Disaster-Recovery 341
XI 6 Diagnose und Fehlersuche im RDBMS 347 6.1 Oracle-Protokolldateien 348 6.2 Diagnosewerkzeuge 351 6.2.1 Protokollereignisse festlegen 351 6.2.2 Parameter der Datei INIT.ORA 359 6.2.3 Weitere Diagnosewerkzeuge 362 6.3 Fehlersuche im RDBMS 367 6.3.1 Auszug aus der Steuerdatei unter Oracle7 368 6.3.2 Auszug der Steuerdatei unter Oracle8 376 6.3.3 Auszug aus der Redo-Log-Datei 385 6.3.4 Auszug aus einer Datendatei 392 6.3.5 Auszug eines Blocks 394 6.4 Fehler unter Oracle und deren Lösung 396 6.4.1 Häufige Fehler unter Oracle 396 6.4.2 Interne Oracle-Fehler 410 7 Fallstudien zu Backup und Recovery 423 7.1 Fallstudien 423 7.1.1 Fall 1: NOARCHIVELOG-Modus und Recovery 424 7.1.2 Fall 2: Datendateien im NOARCHIVLOG-Modus löschen 429 7.1.3 Fall 3: Verlust einer Systemdatendatei 432 7.1.4 Fall 4: Verlust einer Datendatei ohne Rollback-Segmente 437 7.1.5 Fall 5: Verlust einer Datendatei mit Rollback-Segmenten 447 7.1.6 Fall 6: Verlust einer nicht archivierten Online-Log-Datei 454 7.1.7 Fall 7: Zusammenbruch der Datenbank während eines Online-Backups 456 7.1.8 Fall 8: Recovery mit einer Backup-Steuerdatei 460 7.1.9 Fall 9: Platzverwaltung unter Version 7.1 467 7.1.10 Fall 10: Unter Version 7.2 und später die Größe von Datendateien verändern 471 7.1.11 Fall 11: Recovery durch RESETLOGS 473 7.1.12 Fall 11 (a Recovery durch RESETLOGS (Fortsetzung) 481 7.1.13 Fall 12 Datendateien erstellen 484 7.1.14 Fall 13 Ändern der Systemzeit und Recovery eines Zeitpunktes 486 7.1.15 Fall 14 Offline-Tablespaces und Recovery von Medien 492 7.1.16 Fall 15 Recovery von Read-Only-Tablespaces 498 7.1.17 Fall 16 Probleme mit Standby-Datenbanken beheben 512 7.1.18 Fall 17 Verlust einer Datenpartition unter Oracle8 516 7.1.19 Fall 18 Recovery einer Tabelle/Partiüon durch TSPITR 519 7.2 Zusammenfassung 542
XII A Neue Funktionen der Oracle7-Versionen 7.1, 7.2 und 7.3 sowie von Oracle8 545 A.1 Neue Funktionen der Version 7.1 545 A.1.1 Server Manager 546 A.1.2 Symmetrische Replikation 546 A.1.3 Konsistente Aktualisierung von Snapshots 547 A.1.4 Erweiterungen von SQL und PL/SQL 547 A.1.5 Read-Only-Tablespaces 547 A.1.6 Paralleles Recovery 549 A.1.7 Parallele Abfragen 550 A.1.8 Dynamisches SQL 552 A.2 Neue Funktionen der Version 7.2 552 A.2.1 Verbesserte Datenbankverwaltung 553 A.2.2 Verbesserte Anwendungsentwicklung 556 A.2.3 PL/SQL Wrapper 556 A.2.4 Cursor-Variablen 556 A.2.5 Keine Blockierung durch OCI-Aufrufe 556 A.2.6 Neue Pakete 556 A.2.7 Verschiedene Funktionen 556 A.3 Neue Funktionen in der Version 7.3 557 A.3.1 Fast Transaction Rollback (7.3) 557 A.3.2 Neue Datensichten zum Medien-Recovery 559 A.3.3 Änderungen beim Recovery von Threads/Instanzen 560 A.3.4 Standby-Datenbanken 560 A.4 Neue Funktionen unter Oracle8 560 A.4.1 Partitionierte Tabellen und Indizes 561 A.4.2 Unterstützung paralleler DML 563 A.4.3 Objekttypen, Objekterweiterungen und Objektsichten 563 A.4.4 Verbesserte Kennwortverwaltung 565 A.4.5 Verbesserte Größenbeschränkungen 565 A.4.6 LOBs 566 A.4.7 Datentypen zur Multibyte-Unterstützung 567 A.4.8 Collections 567 A.4.9 Oracle Assistants 568 A.4.10 Recovery Manager 572 A.4.11 Net8 Wizard 572 A.4.12 Erweitertes ROWID-Format 573 A.4.13 Erweiterte Queuing-Mechanismen 573 A.4.14 Verbesserte Verwaltung von Integritätseinschränkungen 574 A.4.15 Reine Indextabellen 574 Schlagwortregister 575