Oracle Database: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 79: Zeile 79:
* V$LOG
* V$LOG
* V$LOGFILE
* V$LOGFILE
Archivierte Redo Log-Dateien
* Gefüllte Online Redo Log-Dateien können archiviert werden
* Datenbank muss sich im Modus "ARCHIVELOG" befinden
* Zweck: Wiederherstellung der Datenbank bei Ausfall einer Festplatte
* Archivierung erfolgt automatisch durch ARCn
* Bei erfolgreicher Archivierung:
** wird ein Eintrag in die Kontrolldatei geschrieben
** werden der Name der archivierten Log-Datei, die Log-Sequenznummer sowie die erste und letzte SCN erfasst
=== Tablespace und Datendateien ===
Oracle speichert Daten logisch in Tablespaces und physisch in Datendateien.
Tablespaces
* gehören immer nur zu einer Datenbank
* bestehen aus einer oder mehreren Datendateien
* werden weiter unterteilt in logische Einheiten
Datendateien
* gehören immer nur zu einem Tablespace
* sind ein Repositoiry für Schemaobjektdaten
...Bild logische und physische Sicht...
Arten von Tablespaces:
SYSTEM-Tablespace (Löschen ist nicht möglich)
* wird mit einer Datenbank erstellt
* enthält das Data Dictionary
* enthält das SYSTEM-Undo-Segment
Non-System-Tablespace
* ermöglicht die Speicherung verschiedener Segmente
* erleichtert die Speicherverwaltung
* steuert die einem Benutzer zugeordnete Speichermenge (Quota)
Befehl "CREATE TABLESPACE"
CREATE TABLESPACE tablespace
  [DATAFILE clause]
  [MINIMUM EXTEND integer[K|M]]
  [BLOCKSIZE integer [K]]
  [<u>LOGGING</u>|NOLOGGING]
  [DEFAULT storage_clause]
  [<u>ONLINE</u>|OFFLINE]
  [<u>PERMANENT</u>|TEMPORARY]
  [extent_management_clause]
  [segment_managment_clause]
 
Erstellen eines Tablespace mit dem Befehl "CREATE TABLESPACE". Beispiel:
CREATE TABLESPACE userdata
  DATAFILE 'c:\u01\oradata\data01.dbf' SIZE 100M
  AUTOEXTEND ON NEXT 5M MAXSIZE 200M;
Einem Tablespace können weitere Datendateien hinzugefügt werden. Beispiel:
ALTER TABLESPACE tb1 ADD DATAFILE 'c:\oraddata\data02.dbf' SIE 200M;
Speicherverwaltung in Tablespaces:





Version vom 22. Juni 2010, 08:22 Uhr

Dynamische Performance-Tabellen

  • V$CONTROLFILE
  • V$DATAFILE
  • V$PARAMETER
  • V$SGA
  • V$TABLESPACE

Kontrolldatei

  • Kleine binäre Datei
  • Definiert den aktuellen Status der aktuellen Datenbank
  • Erforderlich im Status "MOUNT" beim Hochfahren der Datenbank
  • Ein Verlust kann "Recovery" notwendig machen
  • Ist mit einer ganz bestimmten Datenbank verknüpft
  • Die Kontrolldatei sollte redundant gesichert werden über "Administration > Datenbankverwaltung > Speicherung > Kontrolldateien" gesichert werden.

Inhalt

  • Datenbankname
  • Zeitstempel der Datenbankerstellung
  • Namen und Speicherorte von Datendateien und Redo Log-Dateien
  • Aktuelle Sequenznummer der Redo Log-Datei
  • Checkpoint-Informationen
  • Backup-Informationen (z. B. des Recovery Manager)

Spiegeln der Kontrolldatei bei Verwendung von SPFILE

  • Änderung von SPFILE (unter Angabe der bestehenden sowie der neuen Kontrolldatei)
ALTER SYSTEM SET control_files=... SCOPE = SPFILE;
  • Herunterfahren der Datenbank
shutdown immediate
  • Erstellung zusätzlicher Kontrolldateien durch Kopieren der Kontrolldatei
  • Hochfahren der Datenbank
startup;

Spiegeln der Kontrolldatei bei Verwendung von PFILE

  • Herunterfahren der Datenbank
shutdown immediate
  • Erstellung zusätzlicher Kontrolldateien durch Kopieren der Kontrolldatei
  • Hinzufügen der Kontrolldateinamen zu PFILE durch Bearbeiten des Parameters "CONTROL_FILES"
CONTROL_FILES=...;
  • Hochfahren der Datenbank
startup pfile='c:\oracle\init.ora';

Abrufen der Kontrolldatei-Informationen

  • grafische Oberfläche unter "Administration > Datenbankverwaltung > Speicherung > Kontrolldateien"
  • Auflisten von Namen und Status für alle Kontrolldateien der Instanz auf
select * from v$controlfile;
  • Auflisten von Namen, Status und Speicherort der Kontrolldateien
show parameter control_files;

Verwendung von Redo Log-Dateien

Redo Log-Dateien

  • erfassen alle an den Daten vorgenommenen Änderungen
  • stellen einen Recovery-Modus bereit
  • können in Gruppen organisiert werden, wobei mindestens zwei Gruppen benötigt werden, unter "Administration > Datenbankverwaltung > Speicherung > Redo Log-Gruppen"

Funktionsweise

  • Redo Log-Dateien werden in zyklischer Weise verwendet
  • Ist eine Redo Log-Datei voll, so wechselt LGWR zur nächsten Redo Log-Gruppe
    • Dies wird als Log-Switch bezeichnet
    • Checkpoint-Vorgang tritt ebenfalls ein
    • Informationen werden in die Kontrolldatei geschrieben

Mögliche Statusangaben

  • Current: In diese wird gerade hineingeschrieben
  • Active: enthalten Logeinträge, die noch im DB-Buffer enthalten sind (würde also für ein Instance Recovery benötigt)
  • Inactive:

Log-Switch erzwingen

ALTER SYSTEM SWITCH LOGFILE;

Checkpoint erzwingen (z. B. in SQL-Skripten; auf der Konsole macht es wenig Sinn)

ALTER SYSTEM CHECKPOINT;

Hinzufügen von Redo Log-Gruppen mit dem Befehl "ALTER DATABASE" unter Angabe der "Members". Die Redo Log-Dateien sollten nicht allzu klein sein. Beispiel:

ALTER DATABASE ADD LOGFILE GROUP 3 ('c:\verzeichnis\u01\log3a.rdo', 'd:\ORADATA\u01\log3b.rdo) SIZE 50M;

Abruf von Informationen über Gruppen und Member über folgende Views:

  • V$LOG
  • V$LOGFILE

Archivierte Redo Log-Dateien

  • Gefüllte Online Redo Log-Dateien können archiviert werden
  • Datenbank muss sich im Modus "ARCHIVELOG" befinden
  • Zweck: Wiederherstellung der Datenbank bei Ausfall einer Festplatte
  • Archivierung erfolgt automatisch durch ARCn
  • Bei erfolgreicher Archivierung:
    • wird ein Eintrag in die Kontrolldatei geschrieben
    • werden der Name der archivierten Log-Datei, die Log-Sequenznummer sowie die erste und letzte SCN erfasst

Tablespace und Datendateien

Oracle speichert Daten logisch in Tablespaces und physisch in Datendateien.

Tablespaces

  • gehören immer nur zu einer Datenbank
  • bestehen aus einer oder mehreren Datendateien
  • werden weiter unterteilt in logische Einheiten

Datendateien

  • gehören immer nur zu einem Tablespace
  • sind ein Repositoiry für Schemaobjektdaten

...Bild logische und physische Sicht...

Arten von Tablespaces:

SYSTEM-Tablespace (Löschen ist nicht möglich)

  • wird mit einer Datenbank erstellt
  • enthält das Data Dictionary
  • enthält das SYSTEM-Undo-Segment

Non-System-Tablespace

  • ermöglicht die Speicherung verschiedener Segmente
  • erleichtert die Speicherverwaltung
  • steuert die einem Benutzer zugeordnete Speichermenge (Quota)

Befehl "CREATE TABLESPACE"

CREATE TABLESPACE tablespace
  [DATAFILE clause]
  [MINIMUM EXTEND integer[K|M]]
  [BLOCKSIZE integer [K]]
  [LOGGING|NOLOGGING]
  [DEFAULT storage_clause]
  [ONLINE|OFFLINE]
  [PERMANENT|TEMPORARY]
  [extent_management_clause]
  [segment_managment_clause]
  

Erstellen eines Tablespace mit dem Befehl "CREATE TABLESPACE". Beispiel:

CREATE TABLESPACE userdata
  DATAFILE 'c:\u01\oradata\data01.dbf' SIZE 100M
  AUTOEXTEND ON NEXT 5M MAXSIZE 200M;

Einem Tablespace können weitere Datendateien hinzugefügt werden. Beispiel:

ALTER TABLESPACE tb1 ADD DATAFILE 'c:\oraddata\data02.dbf' SIE 200M;

Speicherverwaltung in Tablespaces: Vorlage:ca