6... Kontrolldatei administrieren
Lektion 6: Kontrolldatei administrieren Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Arbeiten mit der Kontrolldatei erklären Inhalt der Kontrolldatei ausgeben Kontrolldatei spiegeln Informationen über die Kontrolldatei ermitteln 6-2 Copyright Oracle Corporation, 1999. All rights reserved. 6-2 Oracle8i Datenbankadministration Teil I
Mit der Kontrolldatei arbeiten Mit der Kontrolldatei arbeiten Mit der Kontrolldatei arbeiten Kontrolldateien Datendateien Datenbank Redo Log- Dateien kleine, binäre Datei erforderlich : zum Mounten im Betrieb gehört zu einer einzigen Datenbank sollte gespiegelt werden Verlust kann Recovery erfordern 6-3 Copyright Oracle Corporation, 1999. All rights reserved. Mit der Kontrolldatei arbeiten Die Kontrolldatei einer Datenbank ist eine kleine Binärdatei, die für den Start und erfolgreichen Betrieb der Datenbank benötigt wird. Der Oracle Server aktualisiert die Kontrolldatei fortlaufend während des Datenbank- Betriebs. Deshalb muss sie immer zum Schreiben verfügbar sein, während die Datenbank offen ist. Die Informationen in der Kontrolldatei werden nur vom Oracle Server geändert; weder DBA noch Endbenutzer können die Kontrolldatei editieren. Ist die Kontrolldatei nicht mehr verfügbar, kann die Datenbank nicht korrekt funktionieren. Sind alle Kontrolldatei-Kopien einer Datenbank verloren, muss die Datenbank wiederhergestellt werden, bevor sie geöffnet werden kann. Oracle8i Datenbankadministration Teil I 6-3
Lektion 6: Kontrolldatei administrieren Kontrolldatei-Inhalt Kontrolldatei-Inhalt Datenbankname und Identifier Datum der Datenbank-Erzeugung Speicherorte für Datendateien und Redo Logs Tablespace-Namen Log-History Backup-Informationen Aktuelle Log Sequence-Nummer Checkpoint-Informationen 6-4 Copyright Oracle Corporation, 1999. All rights reserved. Inhalt der Kontrolldatei Der Datenbankname wird entweder dem Initialisierungsparameter DB_NAME entnommen oder es wird der Name der Anweisung CREATE DATABASE verwendet. Der Datenbankbezeichner wird protokolliert, wenn die Datenbank erzeugt wird. Der Zeitstempel der Datenbank-Erzeugung wird ebenfalls protokolliert, wenn die Datenbank erzeugt wird. Die Namen und Speicherorte der zugehörigen Datendateien und Online Redo Log- Dateien werden aktualisiert, wenn eine Datendatei oder Redo Log-Datei hinzugefügt, umbenannt oder aus der Datenbank gelöscht wird. Tablespace-Informationen werden aktualisiert, wenn Tablespaces hinzugefügt oder gelöscht werden. Die Log-Historie wird während der Log-Switches protokolliert. Der Speicherort und der Status der archivierten Logs werden während der Archivierung aufgezeichnet. Der Speicherort und der Status von Backups werden von der Recovery Manager- Utility protokolliert. Die aktuelle Log Sequence-Nummer wird bei Log-Switches aufgezeichnet. Checkpoint-Informationen werden zum Zeitpunkt des Checkpoints aufgezeichnet. 6-4 Oracle8i Datenbankadministration Teil I
Kontrolldatei-Inhalt Inhalt der Kontrolldatei (Fortsetzung) Die Kontrolldatei besteht aus zwei Arten von Abschnitten: wieder verwendbare nicht wieder verwendbare Wieder verwendbare Abschnitte speichern Informationen des Recovery Manager, wie zum Beispiel Backup-Datendateien und Backup-Redo Log-Dateien. Sie werden zyklisch beschrieben und nur vom Recovery Manager wieder verwendet. Hinweis: Dieses Thema wird ausführlich im Kurs Oracle 8i: Backup und Recovery behandelt. Oracle8i Datenbankadministration Teil I 6-5
Lektion 6: Kontrolldatei administrieren Kontrolldatei spiegeln Kontrolldatei spiegeln control_files=(/disk1/control01.con,/disk2/control02.con) Platte 1 Platte 2 control01.con control02.con Kontrolldatei erstellen: Bei Erzeugen der Datenbank Nachträglich 6-5 Copyright Oracle Corporation, 1999. All rights reserved. Kontrolldatei spiegeln Genauso wie bei Online Redo Log-Dateien, kann der Oracle Server mehrere, identische Kontrolldateien gleichzeitig öffnen und beschreiben. Sie können mit dem Initialisierungsparameter CONTROL_FILES bis zu acht voll qualifizierte Dateinamen für Kontrolldateien angeben. Der Oracle Server erzeugt und pflegt alle mit diesem Parameter aufgeführten Dateien, sobald die Instanz gestartet ist. Sie können Kontrolldateien spiegeln: indem Sie mehrere Kontrolldateien erzeugen, wenn die Datenbank erzeugt wird indem Sie nach der Erzeugung der Datenbank eine Kontrolldatei hinzufügen Kontrolldatei mit der Datenbank erzeugen Am einfachsten werden mehrere Kontrolldateien erzeugt, wenn die Namen der Kontrolldateien im Initialisierungsparameter CONTROL_FILES beim Erzeugen der Datenbank angegeben werden: CONTROL_FILES = (/DISK1/control01.con,/DISK2/control02.con) Der Oracle Server erzeugt alle im Parameter aufgeführten Kontrolldateien. Die Dateinamen müssen den vollen Pfadnamen enthalten. Die Spezifikation der Dateinamen hängt vom Betriebssystem ab. So fügen Sie eine Kontrolldatei hinzu Mit folgenden Schritten fügen Sie eine Kontrolldatei hinzu oder ändern die Anzahl bzw. den Speicherort der Kontrolldatei: 1 Fahren Sie die Datenbank herunter. 2 Kopieren Sie die aktuelle Kontrolldatei mit einem Betriebssystembefehl. 3 Fügen Sie die neue Kontrolldatei zum Parameter CONTROL_FILES hinzu. 6-6 Oracle8i Datenbankadministration Teil I
Kontrolldatei spiegeln 4 Fahren Sie die Datenbank wieder hoch. Oracle8i Datenbankadministration Teil I 6-7
Lektion 6: Kontrolldatei administrieren Richtlinien für Kontrolldateien Richtlinien für Kontrolldateien Sie sollten: die Kontrolldatei spiegeln den absoluten Pfadnamen in CONTROL_FILES angeben die Kontrolldatei sichern, nachdem sich die Datenbank-Struktur geändert hat Kontrolldateien: ihre Größe wird durch Schlüsselworte bei CREATE DATABASE angegeben besitzen einen wiederverwendbaren Abschnitt, der sich je nach Änderungen des Recovery Managers erweitert 6-6 Copyright Oracle Corporation, 1999. All rights reserved. Vorteile des Spiegelns von Kontrolldateien Zum Schutz vor einer einzelnen Schwachstelle der Kontrolldatei wird dringend empfohlen, die Kontrolldatei zu spiegeln und die Kopien auf physikalisch getrennten Platten zu speichern. Wenn eine Kontrolldatei defekt ist, können Sie mit der Kopie der Kontrolldatei die Instanz wieder starten. Werden die Kopien der aktuellen Kontrolldatei auf verschiedenen Platten gespeichert, ist bei Verlust einer Kontrolldatei kein Recovery erforderlich. Der Parameter CONTROL_FILES wird in der Initialisierungsdatei angepasst und die Instanz kann gestartet werden. 6-8 Oracle8i Datenbankadministration Teil I
Richtlinien für Kontrolldateien Schlüsselwörter für CREATE DATABASE Bestimmte Schlüsselwörter beeinflussen beim Erzeugen der Datenbank die Größe der Datenbank. Dies ist besonders dann signifikant, wenn die Parameter große Werte besitzen. Es kann nötig sein, die Kontrolldatei erneut zu erzeugen, um ein oder mehrere der Datenbank-Limit-Parameter zu ändern, die die Größe der Kontrolldatei beeinflussen. Die Größe der Kontrolldatei wird durch die folgenden Schlüsselwörter in den Befehlen CREATE DATABASE und CREATE CONTROLFILE beeinflusst: MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES Sie müssen eine neue Kontrolldatei erzeugen, um die Größe des Speicherplatz zu ändern, den diese Schlüsselwörter erzeugen. Wiederverwendbaren Abschnitt erweitern Wird der Recovery Manager verwendet, kann der wiederverwendbare Abschnitt der Kontrolldatei aufgrund der Anzahl der Einträge des Recovery Manager wachsen. Backup nach Strukturänderungen der Datenbank Da die Kontrolldatei die physikalische Struktur der Datenbank aufzeichnet, sollten Sie direkt nach Änderungen der physikalischen Datenbank-Struktur einen Backup der Kontrolldatei machen. Einzelheiten über Backup und Recovery von Kontrolldateien werden im Kurs Oracle 8i: Backup und Recovery behandelt. Oracle8i Datenbankadministration Teil I 6-9
Lektion 6: Kontrolldatei administrieren Informationen über die Kontrolldatei erhalten Informationen ermitteln V$CONTROLFILE V$CONTROLFILE_RECORD_SECTION Performance-Views aus der Kontrolldatei: V$DATAFILE V$TEMPFILE V$TABLESPACE V$LOG andere 6-7 Copyright Oracle Corporation, 1999. All rights reserved. Informationen über die Kontrolldatei erhalten Name und Speicherort der Kontrolldateien erfahren Sie aus der dynamischen Performance-View V$CONTROLFILE. SQL> SELECT name 2 FROM v$controlfile; NAME ----------------------- /DISK1/control01.con /DISK2/control02.con 2 rows selected. Die View V$PARAMETER kann ebenfalls abgefragt werden; wegen der Spaltenlängen können aber Namen der Kontrolldateien abgeschnitten sein. 6-10 Oracle8i Datenbankadministration Teil I
Informationen über die Kontrolldatei erhalten Informationen über die Kontrolldatei erhalten (Fortsetzung) Informationen über die unterschiedlichen Abschnitte der Kontrolldateien fragen Sie aus der dynamischen Performance-View V$CONTROLFILE_RECORD_SECTION ab. SQL> SELECT type, record_size, records_total, records_used 2 FROM v$controlfile_record_section 3 WHERE type= DATAFILE ; TYPE RECORD_SIZ RECORDS_TO RECORDS_US ------------- ---------- ---------- ---------- DATAFILE 180 30 4 1 row selected. Die Spalte RECORDS_TOTAL gibt an, wieviele Einträge für einen Abschnitt zugewiesen sind. Im obigen Beispiel können Sie die maximale Anzahl von Datendateien sehen, nämlich 30, die mit dem Parameter MAXDATAFILES im Befehl CREATE DATABASE festgelegt wird. Die Informationen einiger anderer dynamischer Performance-Views werden aus der Kontrolldatei ermittelt. V$BACKUP V$DATAFILE V$TEMPFILE V$TABLESPACE V$ARCHIVE V$LOG V$LOGFILE V$LOGHIST V$ARCHIVED_LOG V$DATEBASE andere Oracle8i Datenbankadministration Teil I 6-11
Lektion 6: Kontrolldatei administrieren Zusammenfassung Zusammenfassung In dieser Lektion sollten Sie folgende Punkte gelernt haben: die Kontrolldatei ist für das Mounten und den Betrieb der Datenbank erforderlich die Kontrolldatei zum Schutz vor einer einzelnen Schwachstelle zu spiegeln die Kontrolldatei zu sichern, nachdem sich die Datenbank-Struktur geändert hat 6-8 Copyright Oracle Corporation, 1999. All rights reserved. Kurzreferenz Kontext Initialisierungsparameter Dynamische Performance-Views Data Dictionary-Views Befehle Prozeduren und Funktionen in Packages Referenz CONTROL_FILES V$CONTROLFILE V$CONTROLFILE_RECORD_SECTION V$PARAMETER keine keine keine 6-12 Oracle8i Datenbankadministration Teil I