Datenbanken für koordinierte Nachrichtenflüsse mit Oracle konfigurieren

Wenn der Nachrichtenfluss mit einer Oracle-Datenbank interagiert und Sie die Aktualisierungen der Datenbank mit anderen Aktionen innerhalb des Nachrichtenflusses koordinieren möchten, müssen Sie Ihren Broker zur Verwaltung dieser Aktualisierungen konfigurieren.

Vor dem Start müssen Sie Folgendes beachten:

Zur vollständigen Ausführung dieser Task muss die folgende Task abgeschlossen worden sein:

Beginn der ÄnderungIn diesem Abschnitt wird die Verwendung von Oracle mit einem 32-Bit-Broker und einem 64-Bit-Broker und mit WebSphere MQ V5 bzw. WebSphere MQ V6 beschrieben. Außerdem enthält der Abschnitt Informationen zu den erforderlichen XAOpenString-Parametern: Ende der Änderung

Oracle mit WebSphere MQ V5 als Transaktionskoordinator verwenden

Wenn Sie Oracle in koordinierten Transaktionen verwenden möchten:

  1. Vergewissern Sie sich, dass die in der Zeichenfolge Zeichenfolge für 'XA Open' vorgegebene Benutzer-ID, die auf die Datenbank zugreift, die notwendigen Oracle-Berechtigungen hat, um auf die Ansicht DBA_PENDING_TRANSACTIONS zuzugreifen. Mit dem folgenden Oracle-SQLPLUS-Befehl können Sie den erforderlichen Zugriff gewähren:
    grant select on DBA_PENDING_TRANSACTIONS to <Benutzer-ID>;
  2. Verwenden Sie die Switch-Datei von WebSphere Message Broker. Beim Hinzufügen der XAResourceManager-Konfigurationsdaten unter Oracle müssen Sie folgendes angeben:
    • UKor8dtc20.so als Switch-Datei unter AIX, Solaris und Linux (x86-Plattform).
    • UKor8dtc20.sl als Switch-Datei unter HP-UX
    • UKor8dtc20.dll als Switch-Datei unter Windows
  3. Erstellen Sie die folgenden symbolischen Verknüpfungen:
    Unter AIX:
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln –s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    Auf Solaris- und Linux (x86-Plattform)-Plattformen:
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    Unter HP-UX:
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln –s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.sl

Lesen Sie die Informationen zu der Version von WebSphere MQ, die Sie installiert haben:

  • In den folgenden Beispielen wird veranschaulicht, was in der Zeilengruppe XAResourceManager in der Datei qm.ini unter Linux- und UNIX-Systemen enthalten sein muss, sowie die entsprechenden Informationen für Windows:
    • Unter AIX: Beginn der Änderung
      XAResourceManager:  
      Name=OracleXA
      SwitchFile=Installationsverzeichnis/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Ende der Änderung
    • Unter HP-UX: Beginn der Änderung
      XAResourceManager:  
      Name=OracleXA
      SwitchFile=Installationsverzeichnis/merant/lib/UKor8dtc20.sl
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Ende der Änderung
    • Unter Linux (x86-Plattform):Beginn der Änderung
      XAResourceManager:  
      Name=OracleXA
      SwitchFile=Installationsverzeichnis/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Ende der Änderung
    • Unter Solaris: Beginn der Änderung
      XAResourceManager:  
      Name=OracleXA
      SwitchFile=Installationsverzeichnis/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Ende der Änderung
    • Unter Windows setzen Sie die folgenden Werte auf der Seite 'Ressourcen' im Dialogfeld 'Eigenschaften' Ihres WebSphere MQ-Warteschlangenmanagers (von WebSphere MQ-Services aus zugreifbar). In diesem Beispiel wird vorausgesetzt, dass Sie WebSphere Message Broker im Verzeichnis C:\WMQI installiert haben: Beginn der Änderung
      SwitchFile: C:\WMQI\BIN\UKor8dtc20.dll
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      ThreadOfControl: THREAD
      Ende der Änderung

Oracle mit WebSphere MQ V6 als Transaktionskoordinator verwenden

Wenn Sie Oracle in koordinierten Transaktionen verwenden möchten:

  1. Vergewissern Sie sich, dass die in der Zeichenfolge Zeichenfolge für 'XA Open' vorgegebene Benutzer-ID, die auf die Datenbank zugreift, die notwendigen Oracle-Berechtigungen hat, um auf die Ansicht DBA_PENDING_TRANSACTIONS zuzugreifen. Mit dem folgenden Oracle-SQLPLUS-Befehl können Sie den erforderlichen Zugriff gewähren:
    grant select on DBA_PENDING_TRANSACTIONS to <Benutzer-ID>;
  2. Verwenden Sie die Switch-Datei von WebSphere Message Broker. Beim Hinzufügen der XAResourceManager-Konfigurationsdaten unter Oracle müssen Sie folgendes angeben:
    • UKor8dtc20.so als Switch-Datei unter AIX und Solaris.
    • UKor8dtc20.sl als Switch-Datei unter HP-UX.
  3. Geben Sie den Hostnamen des Systems für den Oracle-Server, die Portnummer, auf dem er empfangsbereit ist, die Oracle Service ID (SID), den Benutzernamen und das Kennwort, mit denen auf die Datenbank zugegriffen wird, und den Namen der zu koordinierenden Datenbank an.
  4. Erstellen Sie die folgende symbolische Verknüpfung.
    Unter AIX:
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln –s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.aln –s Installationsverzeichnis/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    Beginn der Änderungln –s Installationsverzeichnis/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.soEnde der Änderung
    Unter HP-UX:
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln –s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.slln –s <Installationsverzeichnis>/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    Beginn der Änderungln –s Installationsverzeichnis/DD64/lib/UKoradtc20.sl /var/mqm/exits64/UKor8dtc20.slEnde der Änderung
    Beginn der ÄnderungUnter Linux (x86-Plattform):
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    Ende der Änderung
    Unter Solaris:
    ln –s Installationsverzeichnis/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.soln –s Installationsverzeichnis/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    Beginn der Änderungln –s Installationsverzeichnis/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.soEnde der Änderung

In den folgenden Beispielen wird veranschaulicht, was in der Zeilengruppe XAResourceManager in der Datei qm.ini unter UNIX-Systemen enthalten sein muss, sowie die entsprechenden Informationen für Windows:

  • Unter AIX: Beginn der Änderung
    XAResourceManager:  
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Ende der Änderung
  • Unter HP-UX: Beginn der Änderung
    XAResourceManager:  
    Name=OracleXA
    SwitchFile=UKor8dtc20.sl
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Ende der Änderung
  • Unter Linux (x86-Plattform):Beginn der Änderung
    XAResourceManager:  
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Ende der Änderung
  • Unter Solaris: Beginn der Änderung
    XAResourceManager:  
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Ende der Änderung
  • Unter Windows setzen Sie die folgenden Werte auf der Seite 'Ressourcen' im Dialogfeld 'Eigenschaften' Ihres WebSphere MQ-Warteschlangenmanagers (von WebSphere MQ-Services aus zugreifbar). In diesem Beispiel wird vorausgesetzt, dass Sie WebSphere Message Broker im Verzeichnis C:\WMQI installiert haben: Beginn der Änderung
    SwitchFile: UKor8dtc20.dll
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    ThreadOfControl: THREAD
    Ende der Änderung
Beginn der Änderung

XAOpenString-Parameter

Im Folgenden finden Sie eine Liste mit den XAOpenString-Parametern, die Sie in die Zeilengruppe XAResourceManager der Datei qm.ini einfügen müssen:
DataSource
ODBC-Datenquellenname für die Datenbank.
DB
ODBC-Datenquellenname für die Datenbank.
HostName
Name des TCPIP-Hosts mit der Oracle-Datenbank.
PortNumber
TCPIP-Port, an dem die Oracle-Datenbank empfangsbereit ist.
Sid
Die Oracle-SID der Datenbank.
SQLNET
Der "Servicename" von Oracle, der in einen "Verbindungsdeskriptor" aufgelöst wird, z. B. durch eine Zuordnung in der Datei 'TSNAMES.ORA'.
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Ende der Änderung
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
ac00910_