Home ORDIX AG             Dienstleistung             Trainingsshop    Kunden / Referenzen Aktuelles    Kontakt
Home  Pfeil  ORDIX News  Pfeil  3/2002
suche: 

ORDIX News Archiv

Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.

Neuigkeiten bei Oracle 9i Teil II:

Oracle Managed Files (OMF)

Oracle 9i bietet mit Oracle Managed Files (OMF) die Möglichkeit, der Instanz die Verwaltung von Daten-, Online Redolog-Dateien und Control-Dateien auf Betriebssystemebene zu überlassen. Diese Funktionalität wird im folgenden vorgestellt.

Ein Oracle Managed File wird, je nach Bedarf, automatisch von einer Instanz erstellt beziehungsweise gelöscht. Es ist somit möglich, Datenbankdateien ohne Angabe des darunterliegenden Filesystems anzulegen. Nicht mehr verwendete Daten-, Online Redolog- und Control-Dateien werden neben Verwaltungsaufgaben (Austragen aus dem Data Dictionary, Control-File) auch automatisch physikalisch gelöscht.

Die Dateinamen werden eindeutig generiert, so dass beim Erstellen von Daten-, Online Redolog- und Control-Dateien eine bereits existierende Datei nicht überschrieben werden kann. Der Administrator braucht nur das Verzeichnis anzugeben, in dem sich die Dateien befinden.

Aufbau einer OMF Umgebung

Wir setzen die dynamischen Initialisierungsparameter in der init.ora:


DB_CREATE_FILE_DEST=<Verzeichnis der Datendateien>
DB_CREATE_ONLINE_LOG_DEST_n=<Verzeichnis der Online Redolog- und
Control-Dateien>

Die Zahl n gibt an, wie oft die Online Redolog_Datei bzw. Control-Datei gespiegelt werden soll. Eine Spiegelung ist der bevorzugte Fall, da eine gute Aufteilung der Datenbankdateien erfolgt.

Mit Hilfe des ALTER SYSTEM SET Befehls lassen sich diese Parameter dynamisch ändern und bei Verwendung eines spfile (binäre init.ora) auch direkt hier eintragen. Die angegebenen Verzeichnisse müssen bereits existieren, da die Oracle Instanz keine Verzeichnisse erstellt.

Struktur der OMF-Dateien

Die OMF-Dateien entsprechen der Oracle Flexible Architecture (OFA), die Namensgebung ist abhängig von der jeweiligen Betriebssystemplattform. Unter Solaris sehen die Dateinamen beispielsweise wie in Abb. 1 gezeigt aus.

Die Buchstaben bedeuten:

%u
ein String von 8 Zeichen (Eindeutigkeit)

%t
Name des Tablespaces

%g
Gruppen-Nummer der Online Redolog-Datei

ora_
identifiziert diese Datei als ein OMF

Die Dateien werden in den in der init.ora (bzw. spfile) angegebenen Verzeichnissen angelegt und bekommen den im Kasten dargestellten Namen. Raw Devices sind bei OMF nicht möglich.

Datei Name Beispiel
Control-Dateien ora_%u.ctl ora_xbw5rtg7.ctl
Online Redolog-Dateien ora_%g_%u.log ora_3_g74g7jdr.log
Datendateien ora_%t_%u.dbf ora_users_g6djlezh.dbf
Temporäre Datendateien ora_%t_%u.tmp ora_tmp_nvgtre5g.tmp
Abb. 1: OMF Namensvergabe unter Solaris.

Datendateien mit OMF

Die Größe der Datendateien beträgt standardmäßig 100 MB. Die automatische Erweiterung (AUTOEXTENDED Klause) ist auf UNLIMITED gesetzt. Da das Tablespace standardmäßig ab Oracle 9i lokal verwaltet wird, reduziert sich die Syntax bei der Tablespaceerstellung:


CREATE TABLESPACE <Tablespacename>
[DATAFILE [SIZE <n> [K|M] [,SIZE <n> [K|M]]];

Eine neue Datenbank auf Verwaltung mit OMF umstellen

Den kompletten Vorgang möchten wir nun anhand eines Beispiels verdeutlichen: Die Oracle 9i Datenbank ordix wurde bisher noch nicht mit OMF verwaltet. Wir wollen einen neuen Tablespace develop erstellen, der mit Hilfe von Oracle Managed Files verwaltet werden soll.

Wir setzen zunächst den dynamischen Initialisierungsparameter. Die Instanz legt alle Datenbankdateien in diesem Verzeichnis an. Anschließend erstellen wir mit Hilfe des folgenden Befehls das Tablespace develop mit zwei Datendateien der Anfangsgröße von 500 MB. Wir überprüfen dies, indem wir die Data Dictionary View DBA_DATA_FILES abfragen.

ALTER SYSTEM SET DB_CREATE_FILE_DEST = ‘/oradata/ordix’;
CREATE TABLESPACE develop DATAFILE SIZE 500M,SIZE 500M;
SELECT file_name FROM dba_data_files WHERE tablespace_name =’DEVELOP’;

FILE_NAME
——————————————————————
/ORADATA/ORDIX/ORA_DEVELOP_YC7VMN00.DBF
/ORADATA/ORDIX/ORA_DEVELOP_YC7VMN01.DBF

Hinzufügen einer OMF Datendatei

Möchten wir eine Datendatei einem bereits existierenden Tablespace manuell hinzufügen, so geben wir die folgende Syntax ein:

ALTER TABLESPACE <Tablespacename>
ADD DATAFILE [SIZE <n> [K|M] [,SIZE <n> [K|M]];

Umbenennen von Datendateien

OMF Datendateien können wir auf herkömmliche Weise in normale Datendateien umbenennen. Ein Umbenennen von normalen Datendateien in OMF Datendateien ist hingegen nicht möglich.

Das heißt, zunächst wird das entsprechende Tablespace OFFLINE gesetzt und die gewünschte Datei mit Betriebssystemmitteln kopiert. Das Umbenennen erfolgt mit Hilfe des folgenden Befehls. Danach wird das Tablespace wieder ONLINE gesetzt.

ALTER TABLESPACE <Tablespacename>
RENAME DATAFILE <OMF_Dateiname> TO <Dateiname>

Löschen von OMF Tablespaces

Löschen wir ein OMF Tablespace, so entfernt die Instanz automatisch auch alle dazugehörigen Datendateien auf Betriebssystemebene. Dazu wird der folgende Befehl verwendet:

DROP TABLESPACE <Tablespacename>; 

Fazit

Wird auf die einfache Administration Wert gelegt, (und weniger auf eine gestreute Verteilung im Filesystem und auf den Sicherheitsaspekt) d. h. Online Redolog-Dateien und Control-Dateien befinden sich in demselben Verzeichnis, so ist dieses Feature unter 9i für kleine Datenbanken zu empfehlen.

Zukünftig wird uns dieses Feature oft bei Installationsskripten begegnen, denn so können Skripte ausgeliefert werden, die komplett unabhängig vom Betriebssystem erstellt werden können und somit nicht mehr angepasst werden müssen.

 Stephan Sippel (info@ordix.de).