Oracle benötigt nur einen Openstring, keinen Closestring.
Ein Multi-Instanzen-Betrieb ist möglich, d.h in der Startparameterdatei einer UTM-Anwendung dürfen mehrere Openstrings für den Resource Manager angegeben werden.
In der Startparameterdatei können Sie für eine Oracle-Datenbank z.B. die folgenden Startparameter angeben:
.RMXA Oracle_XA OS="Oracle_XA+Acc=P//+SesTm=60"
Diese Anweisung müssen Sie in eine Zeile ohne Zeilenvorschub schreiben.
Wie Sie DEBUG-Informationen für den Anschluss an die Datenbank bekommen, ist in Abschnitt „Debug-Parameter" beschrieben.
Im Openstring sind nur die Pflichtparameter aufgeführt. Zusätzlich können Sie weitere optionale Parameter angeben. Diese sind weiter unten aufgelistet.
Die Parameter im Openstring werden durch das Zeichen "+" getrennt.
Bedeutung der Pflichtparameter:
Oracle_XA | Von Oracle vorgegebener Name des Resource Managers, wie in der xa_switch-Struktur enthalten. |
Acc=P// | Informationen für die Zugriffskontrolle der Datenbank (User Access Information). Wird wie im Beispiel |
Eine Oracle-Datenbank kann auch Datenbank-spezifische Informationen (Benutzer user und Kennwort pwd) anfordern, die mit | |
SesTm= | Maximale Zeit in Sekunden, die für eine Transaktion zur Verfügung steht (im Beispiel 60 s). Mögliche Angaben für SesTm entnehmen Sie bitte dem Handbuch zu Oracle. |
Die Angabe von |
Die im Folgenden aufgelisteten Parameter sind optional. Ihre Bedeutung und die möglichen Angaben entnehmen Sie bitte dem Handbuch zu Oracle.
DB= | Name der Oracle-Datenbank |
Den Parameter müssen Sie angeben, wenn die UTM-Anwendung mit mehreren Oracle-Datenbanken gekoppelt werden soll (Multi-Instanzen-Betrieb). | |
GPwd=P/ | Gruppenkennwort, wird in der Form |
LogDir= | Pfadname des Logging-Dateiverzeichnisses |
MaxCur= | Maximale Anzahl offener Cursor |
SqlNet= | Network Connection String |
Beachten Sie auf Windows-Systemen, dass die RMXA-Anweisung bei der Generierung mit KDCDEF den Operand DLLIMPORT=YES benötigt.
Informationen über die einzubindenden Objekte bzw. Bibliotheken und Startparameter (Openstring) entnehmen Sie bitte der Dokumentation zu Oracle.
Oracle-Benutzername und Oracle-Passwort aus der UTM-Generierung verwenden
Die Zugangsberechtigung für eine Oracle Datenbank sollte aus Sicherheitsgründen per KDCDEF-Generierung festgelegt werden.
Beachten Sie bitte Folgendes:
Der Oracle-Benutzername für die Verbindung zu Oracle und das dazugehörige Oracle-Passwort müssen in KDCDEF generiert sein (KDCDEF-Anweisung RMXA, Operanden USERID und PASSWORD).
Das Oracle-Passwort wird als Hashcode in den UTM-Systemtabellen abgespeichert (maskiert) und ist im UTM-Dump deshalb nicht im Klartext enthalten.
Im Openstring des Startparameters geben Sie anstelle des Oracle-Benutzernamens den Platzhalter *UTMUSER und anstelle des Oracle-Passworts den Platzhalter *UTMPASS an. Diese Platzhalter werden nach folgenden Regeln ersetzt:
Enthält der Openstring mindestens einen der Platzhalter *UTMUSER oder *UTMPASS, so ersetzt UTM beim xa_open() Aufruf die Platzhalter durch die Werte, die für dieses Datenbanksystem generiert sind. D.h. im Openstring wird *UTMUSER durch den generierten Oracle-Benutzernamen und *UTMPASS durch das generierte Oracle-Passwort ersetzt.
Aus Sicherheitsgründen wird das Oracle-Passwort erst unmittelbar vor der Verwendung beim xa_open() Aufruf in Klartext umgewandelt und sofort nach dem xa_open() Aufruf wieder im Prozessspeicher gelöscht.Wenn der Openstring des Startparameters weder *UTMUSER noch *UTMPASS enthält, wird der Openstring unverändert an den xa_open() Aufruf übergeben.
Beachten Sie bitte, dass die Groß-/Kleinschreibung signifikant ist!
Beispiel
Sie möchten den Oracle-Benutzernamen und das Oracle-Passwort aus der UTM-Generierung verwenden:
OS="Oracle_XA+SqlNet=O11+ACC=P/*UTMUSER/*UTMPASS+DbgFl=15"
Verhalten bei nicht generierten Oracle-Zugangsdaten
Wurden die Operanden USERID und PASSWORD bei der UTM-Generierung nicht angegeben und verlangt die Oracle-Datenbank einen Benutzernamen und/oder ein Passwort, dann wird der Verbindungsaufbau zur Datenbank abgelehnt.
Falls Sie im Startparameter *UTMUSER bzw. *UTMPASS angeben, obwohl die Operanden USERID und PASSWORD bei der UTM-Generierung nicht angegeben wurden, dann verwendet UTM einen leeren Oracle-Usernamen bzw. ein leeres Oracle-Passwort. D.h. der Verbindungsaufbau zur Datenbank wird in der Regel nicht erfolgreich sein.