更新开始

使用 Oracle 为协调的消息流配置数据库

如果您的消息流与 Oracle 数据库互相作用,且您想要协调数据库的更新与消息流内的其他操作,则配置代理以管理这些更新。

开始之前:

要执行此任务,必须先完成下列任务:

以下指示信息描述如何为 XA 协调配置 Oracle 数据源。有关配置使用 WebSphere MQ 为 XA 协调配置 Oracle 的更多信息,请参阅 WebSphere MQ 系统管理》中的“Oracle 配置”一节。

要使用 Oracle 执行 XA 协调,可以使用 WebSphere MQ V5.3 或 WebSphere MQ V6.0 作为事务协调程序:

使用 WebSphere MQ V5.0 作为事务协调程序来配置 Oracle

要使用 WebSphere MQ V5.0 作为事务协调程序为 XA 协调配置 Oracle 数据源:

  1. 确保用于访问数据库并在 XAOpenString 中指定的用户标识具有访问 DBA_PENDING_TRANSACTIONS 视图所需的 Oracle 特权。 您可以使用以下 Oracle SQLPLUS 命令授予所需的访问权:
    grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. 创建下列符号链接:
    AIX 上:
    ln -s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln -s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    HP-UX 上:
    ln -s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln -s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.sl
    更新开始Solaris(SPARC 平台)Linux(x86 平台)上:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    更新结束
    更新开始Solaris(x86-64 平台) 上:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKoradtc20.so /var/mqm/exits/UKoradtc20.so
    ln -s install_dir/merant/lib/UKora20.so /var/mqm/exits/UKora20.so
    更新结束
  3. 用 XA 资源管理器信息配置代理的队列管理器,并指定 WebSphere Message Broker 提供的替代文件。
    • UNIX 上,在 qm.ini 文件中添加 XAResourceManager 节:qm.ini 文件位于 /var/mqm/qmgrs/broker_name/qm.ini,其中 broker_name 是与队列管理器相关联的代理的名称。替代文件的名称取决于操作系统:
      • 更新开始在 AIX、Solaris(SPARC 平台)Linux(x86 平台) 上,指定 UKor8dtc20.so更新结束
      • 在 HP-UX 上,指定 UKor8dtc20.sl
      • 更新开始Solaris(x86-64 平台) 上,指定 UKoradtc20.so更新结束
      下面显示每个操作系统的 XAResourceManager 节的示例。
    • Windows 上,在 WebSphere MQ 服务中,配置队列管理器“属性”对话框的“资源”页面上的值。替代文件的名称是 UKor8dtc20.dll。 下面是要在“资源”页面上输入的值的示例。
现在使用 WebSphere MQ V5.3 协调事务为 XA 协调配置了 Oracle。

示例

在以下示例中:
  • install_dir 是安装 WebSphere Message Broker 运行时的位置
  • MyServerName 是 Oracle 服务器的名称
  • MyHostName 是 Oracle 数据库所驻留的 TCP/IP 主机名。
  • MyPortNumber 是 Oracle 数据库正在侦听的 TCP/IP 端口。
  • MySID 是数据库的 Oracle 系统标识(SID)。
  • MyUserId 是您要连接到数据源而使用的用户名
  • MyPassword 是与该用户名相关联的密码
  • MyDataSourceName 是数据库的 ODBC 数据源名称
AIX:
XAResourceManager:
Name=OracleXA
SwitchFile=install_dir/merant/lib/UKor8dtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
HP-UX:
XAResourceManager:
Name=OracleXA
SwitchFile=install_dir/merant/lib/UKor8dtc20.sl
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
Linux(x86 平台):
XAResourceManager:
Name=OracleXA
SwitchFile=install_dir/merant/lib/UKor8dtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
更新开始Solaris(SPARC 平台):更新结束
更新开始
XAResourceManager:
Name=OracleXA
SwitchFile=install_dir/merant/lib/UKor8dtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
更新结束
更新开始Solaris(x86-64 平台):更新结束
更新开始
XAResourceManager:
Name=OracleXA
SwitchFile=install_dir/merant/lib/UKoradtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
更新结束
Windows(使用 WebSphere MQ 服务):
字段
SwitchFile C:\Program Files\IBM\MQSI\6.0\bin\UKor8dtc20.dll
XAOpenString ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID +ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
ThreadOfControl THREAD

使用 WebSphere MQ V6.0 作为事务协调程序来配置 Oracle

要使用 WebSphere MQ V6.0 作为事务协调程序为 XA 协调配置 Oracle 数据源:

  1. 确保用于访问数据库并在 XAOpenString 中指定的用户标识具有访问 DBA_PENDING_TRANSACTIONS 视图所需的 Oracle 特权。 您可以使用以下 Oracle SQLPLUS 命令授予所需的访问权:
    grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. 创建下列符号链接:
    AIX 上:
    ln -s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln -s install_dir/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    ln -s install_dir/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    HP-UX 上:
    ln -s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln -s install_dir/merant/lib/UKor8dtc20.sl /var/mqm/exits/UKor8dtc20.sl
    ln -s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.sl
    ln -s install_dir/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    ln -s install_dir/DD64/lib/UKoradtc20.sl /var/mqm/exits64/UKor8dtc20.sl
    Linux(x86 平台) 上:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    更新开始Solaris(SPARC 平台) 上:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    ln -s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    更新结束
    更新开始Solaris(x86-64 平台) 上:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKoradtc20.so /var/mqm/exits/UKoradtc20.so
    ln -s install_dir/merant/lib/UKora20.so /var/mqm/exits/UKora20.so
    ln -s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKoradtc20.so
    更新结束
  3. 用 XA 资源管理器信息配置代理的队列管理器,并指定 WebSphere Message Broker 提供的替代文件。
    • UNIX 上,在 qm.ini 文件中添加 XAResourceManager 节:qm.ini 文件位于 /var/mqm/qmgrs/broker_name/qm.ini,其中 broker_name 是与队列管理器相关联的代理的名称。替代文件的名称取决于操作系统:
      • 更新开始在 AIX、Solaris(SPARC 平台)Linux(x86 平台) 上,指定 UKor8dtc20.so更新结束
      • 在 HP-UX 上,指定 UKor8dtc20.sl
      • 更新开始Solaris(x86-64 平台) 上,指定 UKoradtc20.so更新结束
      下面显示每个操作系统的 XAResourceManager 节的示例。
    • Windows 上,在 WebSphere MQ 服务中,配置队列管理器“属性”对话框的“资源”页面上的值。替代文件的名称是 UKor8dtc20.dll。 下面是要在“资源”页面上输入的值的示例。
现在用 WebSphere MQ V6.0 协调事务为 XA 协调配置了 Oracle。

示例

在以下示例中:
  • install_dir 是安装 WebSphere Message Broker 运行时的位置
  • MyServerName 是 Oracle 服务器的名称
  • MyHostName 是 Oracle 数据库所驻留的 TCP/IP 主机名。
  • MyPortNumber 是 Oracle 数据库正在侦听的 TCP/IP 端口。
  • MySID 是数据库的 Oracle 系统标识(SID)。
  • MyUserId 是您要连接到数据源而使用的用户名
  • MyPassword 是与该用户名相关联的密码
  • MyDataSourceName 是数据库的 ODBC 数据源名称
AIX:
XAResourceManager:
Name=OracleXA
SwitchFile=UKor8dtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
HP-UX:
XAResourceManager:
Name=OracleXA
SwitchFile=UKor8dtc20.sl
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
Linux(x86 平台):
XAResourceManager:
Name=OracleXA
SwitchFile=UKor8dtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
更新开始Solaris(SPARC 平台):更新结束
更新开始
XAResourceManager:
Name=OracleXA
SwitchFile=UKor8dtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
更新结束
更新开始Solaris(x86-64 平台):更新结束
更新开始
XAResourceManager:
Name=OracleXA
SwitchFile=UKoradtc20.so
XAOpenString=ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID
+ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
XACloseString=
ThreadOfControl=THREAD
更新结束
Windows(使用 WebSphere MQ 浏览器):
字段
SwitchFile UKor8dtc20.dll
XAOpenString ORACLE_XA+SQLNET=MyServerName+HostName=MyHostName+PortNumber=MyPortNumber+Sid=MySID +ACC=P/MyUserId/MyPassword+sestm=100+threads=TRUE+DataSource=MyDataSourceName+DB=MyDataSourceName+K=2+
ThreadOfControl THREAD
相关概念
消息流概述
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac00910_


更新结束