Author |
Message
|
jnuckolls |
Posted: Mon Jul 02, 2001 3:09 pm Post subject: |
|
|
Newbie
Joined: 01 Jul 2001 Posts: 4 Location: MQSolutions, LLC
|
I have been unable to get an MQSeries V5.1.0.6 QMgr to correctly coordinate a unit of work with an Oracle 8.1.6 Database using the Oracle client interface. Tracing the MQ side of things shows the following flow after the application issues an MQCMIT:
xa_end
xa_prepare
xa_commit
I would expect the flow to be in a different order:
xa_prepare
xa_commit
xa_end
After setting the Oracle client debug flags on, the trace shows the xa_end issuing the OCITransDetach which ends the transaction and subsequently causes a rollback on the Oracle side.
Has anybody been able to get this running correctly?
_________________ Jim Nuckolls
jnuckolls@mqsolutions.com
(562)902-7800 |
|
Back to top |
|
 |
kolban |
Posted: Tue Jul 03, 2001 12:37 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
Jim, do you know of anywhere (perhaps on the web) where we can find the XA specification? At a gut feel, the XA_END may be allowed before a commit/rollback. The XA_BEGIN and XA_END would then demark a transactional logical unit of work. The demarkation of an end of scope of the LUW doesn't mean that its outcome need be decided, only that no more activity need be allowed within the current scope of that transaction ... |
|
Back to top |
|
 |
jnuckolls |
Posted: Tue Jul 03, 2001 1:39 pm Post subject: |
|
|
Newbie
Joined: 01 Jul 2001 Posts: 4 Location: MQSolutions, LLC
|
Hi Neal, I haven't talked to you in a while. Good to know that IBM is holding on to its' talent. You are a step ahead of me. I was planning to look for an X/Open standards document on the web today. With all of that being said, I am having difficulty with the logic of this thing (probably because of my mainframe background with CICS and its syncpoint manager). If what you suggest is indeed true, then the problem is with Oracle and not MQSeries. If you find a website before I do please let me know. Cheers, Jim |
|
Back to top |
|
 |
kolban |
Posted: Tue Jul 03, 2001 1:55 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
|
Back to top |
|
 |
jnuckolls |
Posted: Mon Jul 09, 2001 4:52 pm Post subject: |
|
|
Newbie
Joined: 01 Jul 2001 Posts: 4 Location: MQSolutions, LLC
|
Neal, here is a URL for an Oracle document that has an interesting table at the end containing XA flow calls. It looks kinda' like your supposition might be right, but, doesn't specifically state in what sequence they need to be called.
http://technet.oracle.com/products/oracle8/htdocs/xdtptwp7.htm
I am having the customer's Oracle DBA ply Oracle with questions about what they expect as far as sequence is concerned. |
|
Back to top |
|
 |
jnuckolls |
Posted: Thu Jul 12, 2001 9:35 am Post subject: |
|
|
Newbie
Joined: 01 Jul 2001 Posts: 4 Location: MQSolutions, LLC
|
I decided to do some research in the Pro*C/C++ Programming Guide for Oracle8.1.6 and found a statement under XA application devlopment that said XA applications don't do a database CONNECT operation. That is done as part of the xa_open flow. I remebered seeing a trace print from that piece of the application (developed by a third party) that said a successful connect had been made. We checked the code and it is indeed doing a database CONNECT. Next step is to comment out that code and run the test again. I have a strong feeling that this is indeed the problem. |
|
Back to top |
|
 |
|