OFA- Wozu brauche ich das denn?

Werbung
Die Installation der Oracle Software ist eine der wichtigsten Aufgaben, wenn es
darum geht einen neuen Server in Betrieb zu nehmen oder ein Update
durchzuführen. Die Optimal Flexible Architecture, kurz OFA Richtlinie soll dabei
helfen, einheitlich vorzugehen, um so unter anderem den zukünftigen Betrieb zu
erleichtern. Der Fokus des Artikels liegt darauf, die OFA Richtlinie im Umfeld von
UNIX-Systemen vorzustellen und näher zu erläutern.
„OFA“ – Wozu brauche ich das denn?
Autor: Stefan Panek
Vorwort
Die Tätigkeit als Berater im Oracle Datenbank Umfeld bringt es mit sich, dass man
häufig zu Kunden kommt und sich dort zuerst einmal einen Überblick über die
vorhandenen Installationen auf den Serversystemen verschafft. Öfters findet man
dabei Installationen vor, die doch recht „ungewöhnlich“ sind. Die Verzeichnisstruktur
für die Oracle Softwareinstallation wird dabei von den Administratoren selbst
festgelegt. Vorhandene Standards, wie die Oracle Flexible Architecture (OFA)
werden nicht immer angewendet. Dies führt dann unter anderem zu erheblichen
Mehraufwänden in der täglichen Administration oder bei Upgrades der
Datenbanksysteme. An dieser Stelle sei schon einmal erwähnt, dass die Optimal
Flexible Architecture eine der „ältesten“ Oracle Best Practices ist und somit auch
fester Bestandteil einer jeden Oracle Software Installation sein sollte.
„From the past to the present” Optimal Flexible Architecture (OFA)
Der OFA Standard ist unter anderem eine Richtlinie für das Layout der Dateisysteme
und Verzeichnisstrukturen auf einem Oracle Serversystem. Im Jahr 1991 wurde auf
der International Oracle User Week in Miami der erste Vortrag zu diesem Thema
gehalten. Carry Millsap und sein Performance Team beschrieben in dem Papier
Wege, wie ein High Performance System konfiguriert werden sollte. Unter anderem
war ein wesentliches Ziel, den Aufwand für die tägliche Administration möglichst
gering zu halten. Durch die standardisierte Vorgehensweise in Bezug auf Installation
und Setup eines Systems, die das Team um Carry Millsap entwickelt hatte, konnten
so viele Fehler bei produktiven Systemen vermieden werden. Im Jahr 1992
veröffentlichte Oracle Services eine erweiterte Version des OFA-Standards. Es
kamen Themen hinzu wie z.B. Standards für Namen, Zugriffsrechte, Unix Logins. Im
Jahr 1993 integrierte Oracle dann den OFA Standard in die Dokumentation der
Oracle Version 7 bevor im Jahr 1995 eine weitere Version von Carry Millsap
veröffentlicht wurde. Dieses Dokument ist auch heute noch verfügbar und hat den
Titel: „The OFA-Standard – Oracle for Open Systems“.
Seite 1 von 8
Schaut man 2012 in die aktuelle Dokumentation der Oracle Release 11gR2, so findet
man die Erläuterungen der Optimal Flexible Architecture im Anhang des Installation
Guide für die jeweilige Systemplattform. Zum Abschluss des „geschichtlichen“
Hintergrunds möchte ich hier noch einige Punkte der ursprünglichen Motivation für
die OFA-Richtlinie nennen, auch wenn sich der eine oder andere Punkt heute
überlebt hat:



OFA ist der Versuch Oracle Software so zu organisieren, dass möglichst keine
Performance Engpässe (auf lokalen Disks) auftreten
Routine Tätigkeiten wie Software und Datensicherungen sollen fehlerfrei
laufen
Vermeidung von Daten Korruptionen, wenn zwischen mehreren Datenbanken
auf einem Server „geswitched“ wird.
Neben der ursprünglichen Motivation nachfolgend die zentralen Vorteile, die für eine
Implementierung der OFA Struktur sprechen:




Einheitliche Verzeichnis- und Namensstruktur auf Serversystemen,
unabhängig von der eingesetzten Plattform
Weniger Aufwand bei der Datenbankadministration
Mehrere Datenbankversionen lassen sich bequem nebeneinander verwalten
Leichtere Fehlersuche für Oracle Support bei Service Requests.
Bestandteile der Oracle Optimal Flexible Architecture (OFA) im Überblick
Im nun folgenden Abschnitt wird die Implementierung des OFA Standards erläutert.
Grundlage dafür ist die aktuelle Oracle Dokumentation der Release 11gR2.
Die Erklärung des OFA-Standards ist in die nachstehenden Bereiche gegliedert:




Dateisysteme (Mount Points)
Namenskonvention für Verzeichnisstrukturen
Namenskonvention für Datenbankdateien
Darstellung einer Dateistruktur nach OFA
Dateisysteme (Mount Points)
Folgt man den Empfehlungen von Oracle, so sollten aus Gründen der Redundanz
mindestens drei Dateisysteme vorhanden sein. Diese Dateisysteme sind so zu
Seite 2 von 8
erstellen, dass Sie auf physikalisch voneinander getrennten Devices basieren. Der
Default für die Namenskonvention lautet: „/u[0-9][0-9]“, z.B. /u01, /u02, /u03 oder
auch /disk01, /disk02, /disk03.
Namenskonvention für Verzeichnisstrukturen
Hinweis: Oracle empfiehlt generell bei der Vergabe von Namen nur ASCII Zeichen zu
verwenden!
Oracle-Base Verzeichnis
Der Startpunkt für die Verzeichnisstruktur ist das Oracle Base Verzeichnis. (Oracle
benutzt hier eine eigene Notation mit Variablen, wie pm, s, u und weitere.)
Variable
pm
s
u
Beschreibung
Mount Point Name
Standardverzeichnis
Besitzer des Verzeichnis (oracle)
Hier ein Beispiel, wenn die Installation durch den User „oracle“ vorgenommen wurde.
/u01/app/oracle
ORACLE_HOME Verzeichnis
Damit mehrere Oracle Versionen auf einem System installiert und betrieben werden
können, sieht OFA für das ORACLE_HOME Verzeichnis die folgende Struktur vor.
Variable
pm
s
u
v
type
n
Beschreibung
Mount Point Name
Standardverzeichnis
Besitzer des Verzeichnis
Produktversion
Database, Client, Grid Infrastruktur
Zahl, die es ermöglicht das gleiche Produkt mehrfach in ein Oracle
Base Verzeichnis zu installieren
Beispiel: Installation der Oracle RDBMS Software in der Version 11.2.0.
/u01/app/oracle/product/11.2.0/dbhome_1
Administrative Daten zu einer Datenbank
Der OFA Standard empfiehlt pro Datenbank eine administrative Verzeichnisstruktur
ausgehend vom Oracle-Base Verzeichnis zu erstellen.
Seite 3 von 8
Dazu ein Beispiel für die Datenbank DB1:
/u01/app/oracle/admin/DB1
Die entsprechende Unterverzeichnisstruktur sieht wie folgt aus.
Verzeichnis
arch
adump
create
dpdump
exp
pfile
scripts
Beschreibung
Archivierte Redo Log Dateien
Audit Dateien
Default für Data Pump Operationen, Skripte zum Erstellen der
Datenbank, etc.
Data Pump Logdateien
Export Dateien
Instance Parameter Datei
Adhoc SQL Skripte
Mit der Version 11g führte Oracle zusätzlich das „Automatic Diagnostic Repository“
(ADR) ein, welches die Verzeichnisse /udump, /bdump, /cdump ersetzt.
Das ADR_HOME Verzeichnis setzt sich folgt zusammen.
Variable
h
d
i
Beschreibung
Oracle Base
Database Name
Instance Name
Hier ein Beispiel für die Datenbank DB1:
/u01/app/oracle/diag/rdbms/db1/DB1
Die weiteren ADR Verzeichnisse unterteilen sich dann unter anderem wie folgt.
Diagnostic Daten
Foreground Process Traces
Background Process Traces
Alert Log Dateien
Core Dumps
Incident Dumps
Lokation
ADR_HOME/trace
ADR_HOME/trace
ADR_HOME/alert
ADR_HOME/incident/
ADR_HOME/incident/
Namenskonvention für Datenbankdateien
Nachstehend eine Tabelle mit den Namenskonventionen. Oracle schlägt aus Sicht
von OFA weiterhin vor, die Control Dateien, Redolog Dateien und Datenbankdateien
in unterschiedliche Pfade abzulegen. Die Namenskonvention dazu sieht wie folgt
aus:
Seite 4 von 8
Variable
h
q
d
t
n
Beschreibung
Oracle Base
Ein String zur Unterscheidung z.B. oradata
DB_NAME ist normalerweise identisch zur SID bei Single Instance
Systemen
Tablespace Name
Zwei Ziffern zur Nummerierung der Dateien
Beispiel für einen System Tablespace der Datenbank DB1 mit einer Datendatei.
/u01/app/oracle/oradata/DB1/system01.dbf
Darstellung der Dateistruktur nach OFA
Das folgende Beispiel zeigt den Standard, wie er in der Dokumentation beschrieben
ist.
Verzeichnisstruktur Syntax
/u[0-9][0-9]
/*/home/*
/*/app/*
/*/app/oracle/product/
/*/app/oracle/product/11.2.0
/*/app/oracle/product/11.2.0/db*
/*/app/oracle/product/11.2.0/grid
/*/app/oracle/admin/DB1
/*/app/oracle/admin/DB1/arch
/*/app/oracle/oradata
Beschreibung
User Directory
User Home Directory
Application Software Directory
Oracle Software Struktur
Oracle Software Struktur für 11g
Oracle Home Struktur für Database11g
Oracle Home Struktur für Grid 11g standalone Installation
DB1 Datenbank administrative Verzeichnisse
DB1 Datenbank Archive Log Files Verzeichnis
Oracle Datenfiles Verzeichnisse
Nachstehend die detaillierte Dateizuordnung für eine Oracle Software Installation mit
zwei ORACLE_HOME’s und zwei Datenbanken. Die Datendateien sind dabei über
drei Dateisysteme verteilt.
Verzeichnis
/
/u01
/u01/app
/u01/app/oracle
/u01/app/oracle/admin
/u01/app/oracle/admin/TAR
/u01/app/oracle/admin/db_name1
/u01/app/oracle/admin/db_name2
/u01/app/oracle/doc
/u01/app/oracle/fast_recovery_area
/u01/app/oracle/fast_recovery_area/db_name1
/u01/app/oracle/fast_recovery_area/db_name2
/u02/app/oracle/oradata
/u03/app/oracle/oradata
/u04/app/oracle/oradata
Seite 5 von 8
Bezeichnung
root
Mount Point 1
Unterverzeichnis Application Software
Oracle Base Verzeichnis
Unterverzeichnis Datenbank Administration
Verzeichnis für Support Logfiles
Administration db_name1
Administration db_name2
Oracle Dokumentation
Unterverzeichnis für Recovery Dateien
Unterverzeichnis für Recovery der db_name1
Unterverzeichnis für Recovery der db_name2
Oracle Datenverzeichnis
Oracle Datenverzeichnis
Oracle Datenverzeichnis
/u01/app/oracle/product/11.2.0/db_home1
/u01/app/oracle/product/11.2.0/grid
Oracle Home Directory für User oracle
Oracle Home für Grid Infrastruktur, bei einer
standalone Installation
Von der Theorie zur Praxis
Wie so oft bestehen zwischen Theorie und Praxis doch Unterschiede, die man bei
der Anwendung des OFA-Standards berücksichtigen sollte. Im Folgenden werden
einige Anregungen aufgezählt.
Patchset Auslieferung ab der Release 11.2.0.2
Seit der Release 11.2.0.2 liefert Oracle grundsätzlich Software und Patchsets als
komplette Versionen aus. Das bedeutet, jedes Patchset ist eine neue Oracle
Software Version. Da laut Standard mit „11.2.0“ gearbeitet wird, ist natürlich nicht auf
den ersten Blick erkennbar, dass sich hinter „db_1 = 11.2.0.1“ und bei „db_2 =
11.2.0.2“, um eine jeweils eigenständige Oracle Version handelt.
Daher findet man in der Praxis des öfteren eine abgewandelte OFA Struktur vor, wie
im Folgenden beschrieben:
Verzeichnis
/u01/app/oracle/product/11.2.0.1/db_1
/u01/app/oracle/product/11.2.0.2/db_2
/u01/app/oracle/product/11.2.0.3/db_1
/u01/app/oracle/product/11.2.0.3/client_1
Bedeutung
Release 11.2.0.1
Release 11.2.0.2
Release 11.2.0.3
11.2.0.3 Client Installation
Mit dieser Modifikation des OFA-Standards kann man direkt erkennen, um welche
Oracle Release es sich handelt. Es weiterhin dringend empfohlen, die
Typbezeichung wie z.B. „db_1“ beizubehalten. Nicht zuletzt wird diese benötigt, da in
der Verzeichnisstruktur weitere Produkte installiert sein können, wie z.B. Oracle
Client Software „client_1“.
Oracle Net Konfigurationsdateien
Bei der Installation einer Oracle Software Release werden automatisch unter dem
Verzeichnis „ORACLE_HOME/network/admin“ eine Reihe von Konfigurationsdateien
wie sqlnet.ora, tnsnames.ora und weitere abgelegt. Wird auf einem Serversystem
eine zweite oder dritte Oracle Release betrieben, müssen diese Dateien mehrfach
gepflegt werden, was den administrativen Aufwand deutlich vergrößert. Daher
empfiehlt sich hier eine Zentralisierung vorzunehmen, die wie folgt aussehen könnte:
Anlegen des Verzeichnis „/u01/app/oracle/admin/common/network“. Dort werden
sämtliche „*.ora“ Dateien aus dem oder auch den weiteren ORACLE_HOME’s
Seite 6 von 8
abgelegt. Danach werden entsprechende Softlinks zu den ursprünglichen
Verzeichnissen erstellt. Somit ist die Möglichkeit geschaffen, die Oracle Net Dateien
zentral zu pflegen, unabhängig von der Anzahl der Installationen auf dem Server.
Beispielhafte Verzeichnisstruktur
Verzeichnis
/
/u01/app/oracle
/u01/app/oracle/admin/common/network
Bezeichnung
root
Oracle Base Verzeichnis
Ablage sämtlicher Oracle Net Konfigurationsdateien
Die Dateien „oratab und oraInst.loc“
Bei jeder Oracle Installation gibt es einige Dateien, die nicht direkt unter der Oracle
Software Installation bzw. Oracle Base Verzeichnis abgelegt werden. Dazu gehören
die Dateien „/etc/oratab“, und „/etc/oraInst.loc“. Die „oratab“ Datei ist die zentrale
Datei, wenn es um die Verwaltung des Environments geht. Die Datei „oraInst.loc“
verweist auf das zentrale Oracle Inventory Verzeichnis.
Abhängig von der Betriebssystemvariante liegen diese Dateien an verschiedenen
Lokationen im Dateisystem, wie z.B. „/etc“, „/var/opt“ oder „/var/opt/oracle“, um nur
einige zu nennen. Hier bietet es sich an, eine Vereinheitlichung über alle
Betriebssystem-Plattformen hinweg vorzunehmen. Durch die Zentralisierung erreicht
man unter anderem, dass die Dateien mit einem Backup der Oracle Binaries
gesichert werden.
Um dies umzusetzen, müsste der OFA-Standard wie folgt angepasst werden:
Verzeichnis
/
/u01/app/oracle
/u01/app/oracle/admin/common/etc
Bezeichnung
root
Oracle Base Verzeichnis
Ablage von Dateien außerhalb des Oracle-Base
Verzeichnisses
Die Dateien werden in das neue Verzeichnis „/u01/app/oracle/admin/common/etc“
verschoben. Abschließend wird ein symbolischer Link zum „original“ Verzeichnis
erstellt.
Fazit
Die Oracle Flexible Architecture (OFA) kann man mit Fug und Recht als eine der
wichtigsten und „ältesten“ Oracle Best Practices bezeichnen. Der OFA Standard
sollte berücksichtigt werden, wenn die Installation von Oracle Software ansteht. Mit
einer Standardisierung der Oracle Installationen nach OFA wird unter anderem ein
stabiler Betrieb der Datenbanken erreicht. Ferner ist so eine Grundlage geschaffen,
die es ermöglicht, auch weitere Oracle Produkte ohne Kopfzerbrechen zu integrieren.
Seite 7 von 8
Stefan Panek
Quellen
Oracle, Database Installation Guide Release 11.2.0,
http://docs.oracle.com/cd/E11882_01/install.112/e24321.pdf
Carry Millsap, The OFA Standard-Oracle for Open Systems,
http://methodr.com/index.php?option=com_docman&task=cat_view&gid=38&Itemid=149
Seite 8 von 8
Herunterladen