Globale Koordination mit Oracle über einen 64-Bit-Warteschlangenmanager konfigurieren

Wenn Nachrichtenflusstransaktionen mit Aktualisierungen in Oracle-Datenbanken unter der Steuerung eines 64-Bit-Warteschlangenmanagers global koordiniert werden sollen, müssen Sie die Brokerumgebung konfigurieren.

Vorbereitungen:

Alle Warteschlangen von WebSphere MQ Version 6 auf 64-Bit-Plattformen werden im 64-Bit-Modus ausgeführt. 64-Bit-Warteschlangenmanager können Transaktionen nur im 64-Bit-Modus koordinieren. Wenn der Broker einen 64-Bit-Warteschlangenmanager verwendet, können Sie Nachrichtenflüsse global koordinieren, die entweder in 64-Bit- oder in 32-Bit-Ausführungsgruppen implementiert werden; wenn Sie jedoch 32-Bit-Ausführungsgruppen verwenden, müssen Sie sowohl in der Datei 'odbc.ini' als auch in der Datei 'odbc64.ini' den Datenquellennamen der Benutzerdatenbank definieren. Wenn der Broker einen 64-Bit-Warteschlangenmanager verwendet oder eine 64-Bit-Ausführungsgruppe aufweist, müssen die Datenbanken, zu denen der Broker eine Verbindung herstellt, ebenfalls im 64-Bit-Modus ausgeführt werden.

Gehen Sie wie folgt vor, um die Brokerumgebung für die globale Koordination über einen 64-Bit-Warteschlangenmanager als Transaktionsmanager zu konfigurieren:

  1. Linux platformUNIX platform Nur unter Linux on x86 und UNIX: Erstellen Sie folgende symbolische Links, um die Position der ODBC-Datenbanktreiber und der Switch-Datei, die mit WebSphere Message Broker geliefert werden, anzugeben:
    AIX platform Unter AIX:
    ln -s Installationsverzeichnis/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln -s Installationsverzeichnis/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s Oracle_Installationsverzeichnis/lib32/libclntsh.a /var/mqm/exits/libclntsh.a
    ln -s Installationsverzeichnis/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    ln -s Installationsverzeichnis/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    ln -s Installationsverzeichnis/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    HP-UX platform Unter HP-UX on PA-RISC:
    ln -s Installationsverzeichnis/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln -s Installationsverzeichnis/merant/lib/UKor8dtc20.sl /var/mqm/exits/UKor8dtc20.sl
    ln -s Oracle_Installationsverzeichnis/lib32/libclntsh.sl /var/mqm/exits/libclntsh.sl
    ln -s Installationsverzeichnis/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    ln -s Installationsverzeichnis/DD64/lib/UKoradtc20.sl /var/mqm/exits64/UKor8dtc20.sl
    ln -s Installationsverzeichnis/DD64/lib/UKora20.sl /var/mqm/exits64/UKora20.sl
    HP-UX platform Unter HP-UX on Itanium:
    ln -s Installationsverzeichnis/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s Installationsverzeichnis/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    ln -s Installationsverzeichnis/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    Linux platform Unter Linux on x86:
    ln -s Installationsverzeichnis/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s Installationsverzeichnis/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s Oracle_Installationsverzeichnis/lib32/libclntsh.so /var/mqm/exits/libclntsh.so
    Solaris platform Unter Solaris on SPARC:
    ln -s Installationsverzeichnis/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s Installationsverzeichnis/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s Oracle_Installationsverzeichnis/lib32/libclntsh.so /var/mqm/exits/libclntsh.so
    ln -s Installationsverzeichnis/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s Installationsverzeichnis/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    ln -s Installationsverzeichnis/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    Solaris platform Unter Solaris on x86-64:
    ln -s Installationsverzeichnis/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s Installationsverzeichnis/merant/lib/UKoradtc20.so /var/mqm/exits/UKoradtc20.so
    ln -s Installationsverzeichnis/merant/lib/UKora20.so /var/mqm/exits/UKora20.so
    ln -s Installationsverzeichnis/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s Installationsverzeichnis/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKoradtc20.so
    ln -s Installationsverzeichnis/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    Dabei gilt:
    • Installationsverzeichnis steht für das Verzeichnis, in dem WebSphere Message Broker installiert ist.
    • Oracle-Installationsverzeichnis steht für das Verzeichnis, in dem Oracle installiert ist, dies ist derselbe Wert wie für $ORACLE_HOME.
  2. Konfigurieren Sie den Broker-Warteschlangenmanager mit XA-Ressourcenmanager-Informationen für jede Datenbank, die in die Transaktion involviert ist, die der Warteschlangenmanager global koordinieren wird. Wenn die Nachrichtenflüsse auf Nachrichtenwörterbücher verweisen oder Publication-Knoten enthalten, müssen Sie mit derselben Methode XA-Ressourcenmanager-Informationen für die Brokerdatenbank und die Benutzerdatenbanken definieren.

    Linux platformUNIX platform Unter Linux on x86 und UNIX:

    1. Öffnen Sie die Datei qm.ini des Warteschlangenmanagers in einem Texteditor. Die Datei qm.ini befindet sich im Pfad /var/mqm/qmgrs/WS-Manager-Name/qm.ini, wobei WS_Manager_Name für den Namen des Brokers steht, der dem Warteschlangenmanager zugeordnet ist.
    2. Fügen Sie am Ende der Datei qm.ini folgende Zeilengruppe hinzu:
      XAResourceManager:
      Name=OracleXA
      SwitchFile=Switch-Datei
      XAOpenString=ORACLE_XA
         +SQLNET=Servername
         +HostName=Hostname
         +PortNumber=Portnummer
         +Sid=System-ID
         +ACC=P/Benutzer-ID/Kennwort
         +sestm=100+threads=TRUE
         +DataSource=Datenquellenname
         +DB=Datenquellenname+K=2+
      XACloseString=
      ThreadOfControl=THREAD
    3. Ersetzen Sie in der Zeile SwitchFile der Zeilengruppe Switch-Datei durch den Namen der Switch-Datei für Ihr Betriebssystem. Die folgende Tabelle zeigt den Namen der Switch-Datei für jedes einzelne Betriebssystem.
      Betriebssystem Switch-Datei
      HP-UX on PA-RISC UKor8dtc20.sl
      Alle anderen Plattformen UKoradtc20.so

      Die Switch-Datei wird von WebSphere Message Broker bereitgestellt.

    4. Ersetzen Sie in der Zeile XAOpenString die folgenden Werte durch Werte, die Ihrer Konfiguration entsprechen:
      • Servername steht für den Namen des Oracle-Servers.
      • Hostname steht für den Namen des TCP/IP-Hosts, auf dem sich die Oracle-Datenbank befindet.
      • Portnummer steht für den TCP/IP-Port, an dem die Oracle-Datenbank empfangsbereit ist.
      • System-ID steht für die Oracle-System-ID (SID) der Datenbank.
      • Benutzer-ID muss der Benutzername sein, mit dem der Broker eine Verbindung zur Datenbank herstellt. Der vom Broker verwendete Benutzername kann auf verschiedene Weise definiert werden. Wenn Sie beim Erstellen des Brokers im Befehl mqsicreatebroker den Parameter -u verwenden, wird dieser Benutzername zum Herstellen einer Verbindung zur Datenbank verwendet, es sei denn, dass mit dem Befehl mqsisetdbparms ein bestimmter Benutzername und das zugehörige Kennwort einem bestimmten Datenquellennamen (Data Source Name, DSN) zugeordnet wurde. Wenn Sie weder den Befehl mqsicreatebroker mit dem Parameter -u noch den Befehl mqsisetdbparms verwenden, wird der Benutzername des Brokerservices verwendet, den Sie im Befehl mqsicreatebroker mit dem Parameter -i definieren.
      • Kennwort steht für das Kennwort, das dem Benutzernamen zugeordnet ist.
      • Datenquelle steht für den Namen der ODBC-Datenquelle für die Datenbank.
    5. Übernehmen Sie die Standardwerte für alle anderen Zeilen in der Zeilengruppe. Ein Beispiel für AIX:
      XAResourceManager:
      Name=OracleXA
      SwitchFile=UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=diaz
         +HostName=diaz.hursley.ibm.com
         +PortNumber=1521
         +Sid=diaz
         +ACC=P/wbrkuid/wbrkpw
         +sestm=100+threads=TRUE
         +DataSource=MYDB+DB=MYDB+K=2+
      XACloseString=
      ThreadOfControl=THREAD
  3. Stoppen Sie den Warteschlangenmanager, und starten Sie ihn erneut, um die Änderungen anzuwenden, da 'qm.ini' schreibgeschützt ist, solange der Warteschlangenmanager aktiv ist.
    Um den Warteschlangenmanager zu stoppen und danach neu zu starten, geben Sie die folgenden Befehle ein, wobei Warteschlangenmanagername für den Namen des Warteschlangenmanagers steht:
    endmqm Warteschlangenmanagername
    strmqm Warteschlangenmanagername

    Wenn der Warteschlangenmanager erneut startet, überprüfen Sie dessen Protokoll auf Warnungen, die mit dem Neustart in Zusammenhang stehen. Die Protokolldateien befinden sich im Verzeichnis '/var/mqm/qmgrs/Warteschlangenmanagername/errors', wobei Warteschlangenmanagername für den Namen des Warteschlangenmanagers steht, den Sie erneut gestartet haben.

    Wenn der Warteschlangenmanager erfolgreich neu gestartet wurde, werden die Änderungen angewandt, die Sie an 'qm.ini' durchgeführt haben.
Damit ist Oracle für die globale Koordination mit einem 64-Bit-Warteschlangenmanager als Koordinator von Transaktionen konfiguriert.
Nächster Schritt: Sie können jetzt global koordinierte Nachrichtenflüsse auf dem Broker implementieren.
Zugehörige Tasks
Global koordinierte Nachrichtenflüsse konfigurieren
Globale Koordination von Transaktionen konfigurieren (zweiphasiges Commit)
Zugehörige Verweise
Unterstützte Datenbanken
Befehl mqsicreatebroker
mqsisetdbparms-Befehl
Zugehörige Informationen
WebSphere MQ Version 6 Information Center online
WebSphere MQ-Bibliothekswebseite
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:05

ac00915_