Oracle-Datenbanken und Parallel-Server-Option (OPS) 

Verwendung

Wenn eine Oracle-Datenbank auf Raw-Devices betrieben wird, ist es möglich, die Parallel-Server-Option des Oracle-RDBMS einzusetzen. Die SAP-Dienstprogramme zur Sicherung der Datenbank unterstützen diese Konfiguration.

Im OPS-Fall muß das Zurückladen und Wiederherstellen durch manuellen Aufruf von BRRESTORE und Wiederherstellung mit SVRMGR durchgeführt werden. SAPDBA unterstützt diese Funktionen im OPS-Fall nicht!

Struktur

Detailliert wird die Oracle-Parallel-Server-Option (OPS) in den entsprechenden Oracle-Dokumentationen beschrieben. An dieser Stelle soll nur auf die für den Einsatz der SAP-Dienstprogramme wichtigsten Merkmale der OPS-Konfiguration hingewiesen werden:

· Alle Steuerdateien, Online-Redo-Log-Dateien und Datenbank-Datendateien liegen auf Raw-Devices, auf die ausgehend von allen Rechnern eines Rechner-Clusters zugegriffen werden kann (die Raw-Devices sind shared).

· Auf den Rechnern der Rechner-Clusters gibt es mehrere Oracle-Instanzen,die gleichzeitig auf die Datenbankdateien zugreifen können (normalerweise eine Instanz pro Rechner).

· Jede Oracle-Instanz hat einen eindeutigen Namen (es handelt sich um eine SAP-Norm), die sogenannte Oracle-System-ID. Bei einem Verbindungsaufbau zur Datenbank wird die Oracle-Instanz durch die Umgebungsvariable ORACLE_SID (abgekürzt DBSID) oder einen Connect-String bestimmt.

· Jede Oracle-Instanz benutzt eigene Online-Redo-Log-Gruppen, die auch gespiegelte Online-Redo-Log-Dateien umfassen können. Alle Gruppen einer Instanz bilden einen sogenannten Online-Redo-Thread, der durch eine Nummer identifiziert wird.

· Jede Oracle-Instanz schreibt eigene Offline-Redo-Log-Dateien, die durch die Thread-Nummer und die fortlaufende Log-Sequenznummer identifiziert werden. Die Offline-Redo-Log-Dateien werden als normale Dateien in einem Dateisystem abgespeichert. Auf dieses Dateisystem kann normalerweise nur lokal, d.h. ausgehend von dem Rechner, auf dem die Instanz läuft, zugegriffen werden.

· Jede Oracle-Instanz verfügt über ein eigenes Profil init<DBSID>.ora , das unter anderem die Thread-Nummer (Parameter thread ), das Archivierungsverzeichnis (Parameter log_archive_dest ) und das Namensformat der Offline-Redo-Log-Dateien (Parameter log_archive_format ) bestimmt (siehe auch Archivierungsparameter).
Die zugehörigen Zeichenketten können die üblichen Platzhalter ? (<ORACLE_HOME>) und @ (<ORACLE_SID>) enthalten. Um Probleme zu vermeiden, ist das nur in der folgenden Form erlaubt:

log_archive_dest = ?/saparch/<SAPSID>arch

In der Standardinstallation sollten alle Instanzen das gleiche <ORACLE_HOME> besitzen. Sind unterschiedliche Werte vorhanden, muß das Fragezeichen ersetzt werden: log_archive_dest = /oracle/<SAPSID>/saparch/<SAPSID>arch

log_archive_format = %t_%s.dbf

· Eine der Oracle-Instanzen (bei SAP-Installationen normalerweise die Instanz mit der Thread-Nummer 1) ist die sogenannte Dedicated Database Instanz (DDB-Instanz). Ausgehend von dieser Instanz werden alle Administrationsaufgaben für die Datenbank (z.B. Sicherung der Datenbank, Erweiterung eines Tablespaces, Reorganisation) durchgeführt.

· Die Standardzuordnung von Instanz ( ORACLE_SID bzw. DBSID) und Thread sieht in einem R/3-System C11 wie folgt aus (vergleichen Sie auch mit der obigen Abbildung):

Instanz (DBSID)

Thread

C11

1 (DDB-Instanz)

C11_002

2

C11_003

3

...

...

Bevor Sie mit Ihrer OPS-Datenbank arbeiten, sollten Sie sich auf jeden Fall mit der konkreten Installation vertraut machen. Nutzen Sie dazu alle verfügbaren Informationen, z.B. den Installationsleitfaden.

· Alle Oracle-Instanzen müssen von der DDB-Instanz aus administrierbar sein, d.h. sie müssen diese ausgehend von der DDB-Instanz starten und stoppen können. Diese Operationen sollten von einer lokalen SVRMGR-Session durchgeführt werden können. Um das zu ermöglichen, müssen folgende Voraussetzungen erfüllt sein:

– Legen Sie eine Oracle-Kennwortdatei an:

orapwd file=<ORACLE_HOME>/dbs/orapw<DBSID>
password=<internal_password> entries=100

Für alle weiteren Datenbankinstanzen müssen Sie Softlinks auf diese Datei legen:

cd <ORACLE_HOME>/dbs
ln -s orapw<DBSID> orapw<DBSID2>

– In allen init<DBSID>.ora -Profilen oder in einer gemeinsamen Include-Datei (die dann mittels des IFILE-Parameters in alle Profile eingebunden wird) muß der Parameter remote_login_passwordfile = exclusive eingetragen sein. Falls der Parameter erst nach Start einer Instanz eingetragen wurde, sollten die entsprechenden Instanzen durchgestartet werden, damit er wirksam wird.

– Auf der DDB-Instanz muß der Benutzer system die SYSOPER-Berechtigung haben. Starten Sie dazu SVRMGR als Benutzer internal und führen Sie folgenden Oracle-Befehl aus:

svrmgr> grant sysoper to system

– Eventuell sollten Sie das Kennwort für den Benutzer system ändern:

svrmgr> alter user system identified by <Kennwort>