Gehen Sie wie folgt vor, um unter Verwendung von Kurznamen
auf Oracle-Datenbanken zuzugreifen:
Schritt 1.
| Installieren und konfigurieren Sie die Oracle-Client-Software auf dem
DB2-Server mit zusammengeschlossenen Datenbanken anhand der
Oracle-Dokumentation.
Sie können sowohl SQL*Net als auch Net8 verwenden, um auf Datenquellen von
Oracle Version 7 und Oracle Version 8 zuzugreifen.
Empfehlung für Server mit zusammengeschlossenen Datenbanken auf
UNIX-Plattformen:
| Fordern Sie während der Installation der Oracle-Client-Software eine
erneute Verbindung zu SQL*Net oder Net8 an.
|
|
Schritt 2.
| Stellen Sie die Umgebungsvariablen der Datenquelle ein, indem Sie die
Datei DB2DJ.ini ändern und den Befehl db2set
absetzen. Der Befehl db2set aktualisiert die
DB2-Profilregistrierdatenbank mit Ihren Einstellungen.
Die Datei DB2DJ.ini enthält Konfigurationsdaten der auf Ihrem Server
mit zusammengeschlossenen Datenbanken installierten
Oracle-Client-Software. In einem System mit partitionierten Datenbanken
können Sie eine einzige Datei DB2DJ.ini für alle Knoten
eines bestimmten Exemplars verwenden, oder Sie können eine eindeutige Datei
DB2DJ.ini für einen oder mehrere Knoten eines bestimmten
Exemplars verwenden. In einem System ohne partitionierte Datenbanken
kann für jedes Exemplar nur jeweils eine Datei DB2DJ.ini
vorhanden sein.

| Fahren Sie mit 2 fort, wenn die Standardeinstellung der Datei
DB2DJ.ini für Ihre Konfiguration akzeptabel ist.
|
- Editieren Sie die Datei DB2DJ.ini und stellen Sie die
folgenden Umgebungsvariablen ein. Die Datei befindet sich im
Verzeichnis sqllib/cfg.
ORACLE_HOME
|
Geben Sie für die Umgebungsvariable ORACLE_HOME das
Oracle-Ausgangsverzeichnis an, z. B.:
ORACLE_HOME=oracle-ausgangsverzeichnis
Für SQL*Net und Net8 ist es erforderlich, diese Variable vor dem Start
Ihres Exemplars mit zusammengeschlossenen Datenbanken einzustellen. Wir
diese Variable geändert, muß das Exemplar mit zusammengeschlossenen
Datenbanken erst gestoppt und erneut gestartet werden, bevor der Wert der
Variablen ORACLE_HOME aktiviert wird.
Wurde die Umgebungsvariable ORACLE_HOME von einem individuellen Benutzer
des Exemplars mit zusammengeschlossenen Datenbanken eingestellt, wird dieser
Wert vom Exemplar mit zusammengeschlossenen Datenbanken nicht
verwendet. Das Exemplar mit zusammengeschlossenen Datenbanken verwendet
nur den Wert der Variablen ORACLE_HOME, der in der
DB2-Profilregistrierdatenbank eingestellt wurde.
| ORACLE_BASE
|
Wenn Sie für Server mit zusammengeschlossenen Datenbanken, die unter
UNIX-Versionen aktiv sind, die Variable ORACLE_BASE während der Installation
der Oracle-Client-Software einstellen, muß auch die Umgebungsvariable
ORACLE_BASE auf dem Server mit zusammengeschlossenen Datenbanken eingestellt
werden:
ORACLE_BASE=oracle-ausgangsverzeichnis
| ORA_NLS
|
Geben Sie für Server mit zusammengeschlossenen Datenbanken unter
UNIX-Versionen, die auf Datenquellen von Oracle 7.2 oder höher
zugreifen sollen, für die Umgebungsvariable ORA_NLS den folgenden Wert
ein:
ORA_NLS=oracle-ausgangsverzeichnis/ocommon/nls/admin/data
| TNS_ADMIN
|
Wenn sich die SQL*Net- oder Net8-Datei tnsnames.ora
außerhalb des Standardsuchpfads befindet, müssen Sie mit der
Umgebungsvariablen TNS_ADMIN die Position der Datei
tnsnames.ora angeben, z. B.:
TNS_ADMIN=x:\pfad\tnsnames.ora
Für Windows-Server gilt:
| Die Standardposition dieser Datei hängt von der verwendeten
Client-Software ab:
- Wenn Sie SQL*Net verwenden, befindet sich die Datei
tnsnames.ora im Verzeichnis
%ORACLE_HOME%\NETWORK\ADMIN.
- Wenn Sie Net8 verwenden, befindet sich die Datei
tnsnames.ora im Verzeichnis
%ORACLE_HOME%\NET8\ADMIN.
| Für UNIX-Server gilt:
| Die Standardposition dieser Datei ist
$ORACLE_HOME/admin/util/network.
|
|
- Setzen Sie den Befehl db2set ab, um die
DB2-Profilregistrierdatenbank mit Ihren Einstellungen zu aktualisieren.
Wenn Sie die Datei DB2DJ.ini in einem System ohne partitionierte
Datenbanken verwenden, oder wenn die Werte der Datei DB2DJ.ini nur für
den aktuellen Knoten gelten sollen, setzen Sie den folgenden Befehl ab:
db2set DB2_DJ_INI = sqllib/cfg/db2dj.ini
Wenn Sie die Datei DB2DJ.ini in einem System mit partitionierten
Datenbanken verwenden, und wenn die Werte der Datei DB2DJ.ini für alle
Knoten dieses Exemplars gelten sollen, setzen Sie den folgenden Befehl
ab:
db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini
Wenn Sie die Datei DB2DJ.ini in einem System mit partitionierten
Datenbanken verwenden, und wenn die Werte der Datei DB2DJ.ini nur für
einen bestimmten Knoten gelten sollen, setzen Sie den folgenden Befehl
ab:
db2set -i INSTANCEX 3 DB2_DJ_INI = sqllib/cfg/node3.ini
Dabei gilt folgendes:
- INSTANCEX ist der Name des Exemplars.
- 3 ist die Knotennummer, wie sie in der Datei
db2nodes.cfg angegeben ist.
- node3.ini ist die geänderte und umbenannte Version der
Datei DB2DJ.ini.
|
Schritt 3.
| Stellen Sie sicher, daß die SQL*Net- oder Net8-Datei
tnsnames.ora für jeden Oracle-Server, für den eine
Kommunikationskonfiguration durchgeführt wird, aktualisiert wird.
Innerhalb der Datei tnsnames.ora ist SID der Name des
Oracle-Exemplars und HOST der Name des Hosts, auf dem sich der Oracle-Server
befindet.
|
Schritt 4.
| Stoppen Sie das DB2-Exemplar, und starten Sie es erneut:
Für Windows-Server gilt:
|
NET STOP exemplarname
NET START exemplarname
| Für UNIX-Server gilt:
|
db2stop
db2start
|
|
Schritt 5.
| Mit der Anweisung CREATE WRAPPER definieren Sie die Oberflächenbibliothek,
die für den Zugriff auf Oracle-Datenquellen verwendet wird. Oberflächen
werden von Servern mit zusammengeschlossenen Datenbanken für die Kommunikation
mit Datenquellen und zum Abrufen ihrer Daten verwendet. Im folgenden
Beispiel sehen Sie eine Anweisung CREATE WRAPPER:
CREATE WRAPPER SQLNET
wobei SQLNET der Standardname des Oberflächenmoduls ist, das
mit der Oracle-Client-Software SQL*Net verwendet wird. Verwenden Sie
NET8 für die Oracle-Client-Software Net8.
Sie können diesen Standardnamen mit einem Namen Ihrer Wahl ersetzen.
Sie müssen dann allerdings auch den Parameter LIBRARY und den Namen der
Oberflächenbibliothek für Ihre DB2-Server-Plattform hinzufügen. Weitere
Informationen zu Namen der Oberflächenbibliotheken finden Sie im Handbuch
SQL Reference.
|
Schritt 6.
| Wahlfrei: Stellen Sie die Umgebungsvariable DB2_DJ_COMM so ein, daß
die entsprechende Oberflächenbibliothek des Oberflächenmoduls, das Sie im
vorherigen Schritt erstellt haben, enthalten ist. Beispiel:
db2set DB2_DJ_COMM = libsqlnet.a
Die Umgebungsvariable DB2_DJ_COMM steuert, ob ein Oberflächenmodul bei der
Initialisierung des Servers mit zusammengeschlossenen Datenbanken geladen
wird. Ist dies der Fall, kann es sogar zu einer Leistungsverbesserung
kommen, wenn als erstes auf die Oracle-Datenquelle zugegriffen wird.
Weitere Informationen zu Namen der Oberflächenbibliotheken finden Sie im
Handbuch SQL Reference.
|
Schritt 7.
| Mit der Anweisung CREATE SERVER definieren Sie die einzelnen
Oracle-Server, für die Sie die Kommunikation konfigurieren.
Beispiel:
CREATE SERVER ORASERVER TYPE ORACLE VERSION 7.2 WRAPPER SQLNET
OPTIONS (NODE "oranode")
Dabei gilt folgendes:
- ORASERVER ist der Name, den Sie dem Oracle-Server
zuordnen. Es muß sich dabei um einen eindeutigen Namen handeln.
- ORACLE ist der Datenquellentyp, für den der Zugriff
konfiguriert wird.
- 7.2 ist die Version von Oracle, auf die zugegriffen
wird.
- SQLNET ist der Name der Oberfläche, die Sie mit der Anweisung
CREATE WRAPPER definiert haben.
- oranode ist der Name des Knotens, auf dem sich
ORASERVER befindet. Diesen Wert entnehmen Sie der Datei
tnsnames.ora. Bei diesem Wert wird zwischen
Groß-/Kleinschreibung unterschieden. Abbildung 6 zeigt die Beziehung zwischen den Knotenoptionen und der
Datei tnsnames.ora.
Dieser Knotenwert ist zwar als wahlfrei angegeben, für Oracle-Datenquellen
ist er jedoch erforderlich. Eine vollständige Liste der Optionen finden
Sie im Handbuch SQL Reference.
Abbildung 6 zeigt die Informationen in der Datei
tnsnames.ora, der Sicht SYSCAT.SERVEROPTIONS und der
Sicht SYSCAT.SERVERS.
Abbildung 6. Beziehung zwischen DB2-Systemdateien und der Oracle-Datei "tnsnames.ora"
|
Schritt 8.
| Wenn eine Benutzer-ID oder ein Kennwort auf dem Server mit
zusammengeschlossenen Datenbanken von der Benutzer-ID oder vom Kennwort auf
der Oracle-Datenquelle abweicht, können Sie die Anweisung CREATE USER
verwenden, um die lokale Benutzer-ID der an der Oracle-Datenquelle definierten
Benutzer-ID und dem Kennwort zuzuordnen. Beispiel:
CREATE USER MAPPING FOR DB2USER SERVER ORASERVER
OPTIONS ( REMOTE_AUTHID 'orauser', REMOTE_PASSWORD "dayl1te")
Dabei gilt folgendes:
- DB2USER ist die lokale Benutzer-ID, die der an der
Oracle-Datenquelle definierten Benutzer-ID zugeordnet wird.
- ORASERVER ist der Name der in der Anweisung CREATE SERVER
definierten Oracle-Datenquelle.
- orauser ist die Benutzer-ID auf der Oracle-Datenquelle, der
DB2USER zugeordnet wird. Bei diesem Wert wird zwischen
Groß-/Kleinschreibung unterschieden.
Einschränkung:
| Die Oracle-Benutzer-ID (auf der Oracle-Datenquelle, nicht auf dem
DB2-Server mit zusammengeschlossenen Datenbanken) muß mit dem Oracle-Befehl
create user mit der Klausel 'identified by' statt mit der
Klausel 'identified externally' erstellt worden sein.
|
- dayl1te ist das "orauser" zugeordnete
Kennwort. Bei diesem Wert wird zwischen Groß-/Kleinschreibung
unterschieden.
|
Schritt 9.
| Mit der Anweisung CREATE NICKNAME ordnen Sie einer Sicht oder Tabelle der
Oracle-Datenquelle einen Kurznamen zu. Mit diesem Kurznamen können Sie
in Zukunft die Oracle-Datenquelle abfragen. Im folgenden Beispiel sehen
Sie eine Anweisung CREATE NICKNAME:
CREATE NICKNAME ORASALES FOR ORASERVER.SALESDATA.MIDWEST
Dabei gilt folgendes:
- ORASALES ist ein eindeutiger Kurzname für eine Oracle-Tabelle
oder Sicht.
- ORASERVER.SALESDATA.MIDWEST ist eine dreiteilige
Kennung im folgenden Format:
datenquellenname.ferner-schemenname.ferner-tabellenname
Weitere Informationen zur Anweisung CREATE NICKNAME finden Sie im Handbuch
SQL Reference.
Allgemeine Informationen zu Kurznamen finden Sie im Handbuch
Systemverwaltung.
|
Schritt 10.
| Wiederholen Sie den vorherigen Schritt für alle Datenbankobjekte, für die
Sie Kurznamen erstellen wollen.
|
Schritt 11.
| Aktualisieren Sie für jeden HOST im Abschnitt DESCRIPTION der Datei
tnsnames.ora die Datei /etc/hosts für
UNIX-Server, und die Datei
x:\winnt\system32\drivers\etc\hosts für
Windows-Server, falls dies erforderlich ist.
Ob die Aktualisierung dieser Datei erforderlich ist, hängt davon ab, wie
TCP/IP in Ihrem Netzwerk konfiguriert ist. Eine Netzwerkkomponente muß
den Namen des fernen Hosts, der im Abschnitt DESCRIPTION der Datei
tnsnames.ora (im vorliegenden Beispiel "oranode") in eine
Adresse umsetzen. Wenn zu Ihrem Netzwerk ein Namens-Server gehört, der
den Host-Namen erkennt, ist die Aktualisierung der TCP/IP-Datei
hosts nicht erforderlich. Andernfalls muß ein Eintrag für
einen fernen Host vorgenommen werden. Informationen zur Konfiguration
Ihres Netzwerks erhalten Sie von Ihrem Netzadministrator.
|