Do the following:
A current list of levels of Oracle supported by WebSphere MQ is provided at:
http://www.ibm.com/software/ts/mqseries/platforms/supported.html
Ensure that your Oracle environment variables are set for queue manager processes as well as in your application processes. In particular, always set the following environment variables before starting the queue manager:
export ORACLE_HOME=/opt/oracle/product/8.1.6On Windows(R) systems, use:
set ORACLE_HOME=c:\oracle\ora81
An example of setting this, on UNIX systems, is:
export ORACLE_SID=sid1
The equivalent on Windows systems is:
set ORACLE_SID=sid1
The easiest way to create the Oracle switch load file is to use the sample file xaswit.mak, which WebSphere MQ provides to build the switch load files for a variety of database products.
On Windows systems, you can find xaswit.mak in the directory C:\Program Files\IBM\WebSphere MQ\tools\c\samples\xatm. To create the Oracle switch load file with Microsoft Visual C++, use:
nmake /f xaswit.mak oraswit.dllThe generated switch file is placed in c:\Program Files\IBM\WebSphere MQ\exits.
On AIX(R), you can find xaswit.mak in the directory /usr/mqm/samp/xatm; on other UNIX systems, you can find it in the directory /opt/mqm/samp/xatm.
Edit xaswit.mak to uncomment the lines appropriate to the version of Oracle you are using. Then execute the makefile using the command:
make -f xaswit.mak oraswit
The generated 32-bit switch load file is placed in /var/mqm/exits.
The generated 64-bit switch load file is placed in /var/mqm/exits64.
The next step is to modify the configuration information for the queue manager, as described in Adding configuration information to the queue manager, to declare Oracle as a participant in global units of work.
Figure 12 is a UNIX sample showing an XAResourceManager entry. It is recommend that you add a LogDir to the XA open string so that all error and tracing information is logged to the same place.
XAResourceManager: Name=myoracle SwitchFile=oraswit XAOpenString=Oracle_XA+Acc=P/myuser/mypasswd+SesTm=35+LogDir=/tmp+threads=true ThreadOfControl=THREAD
See the Oracle8 Server Application Developer's Guide for more information on the xa_open string.
For each Oracle database that the queue manager is coordinating, you need to:
The necessary privilege can be given using the following example command:
grant select on DBA_PENDING_TRANSACTIONS to myuser;
Notices |
Downloads |
Library |
Support |
Feedback
![]() ![]() |
oracfg |