ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ API Support » Transactional Client setup in MQ and oracle

Post new topic  Reply to topic
 Transactional Client setup in MQ and oracle « View previous topic :: View next topic » 
Author Message
jeevan
PostPosted: Thu Nov 16, 2006 5:30 am    Post subject: Transactional Client setup in MQ and oracle Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

I need help to identify the xa setup in oracle and mq. I went throught the literature and find a few things. In the qm.ini, we add the following stanza.

Quote:


XAResourceManager:




Also, I figured that initxa.sql script is run at oracle side. We install ETC client in the client app machine. But where can i find who is designed as a TRANSACTION MANAGER( COORDINATOR) and mq is taking part as resourcs manager as well? I would really be grateful for your help, as I could not find this information anywhere.


Thank you very much in advance,
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Nov 16, 2006 5:49 am    Post subject: Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

Furthermore, I find conflicting stuff while reading about transactional manager.

Quote:


XA compliant transaction managers

Note:
This section assumes that you have a basic understanding of the XA interface as published by The Open Group in Distributed Transaction Processing: The XA Specification.
To configure an extended transactional client, you must first configure the WebSphere MQ base client as described in Installing client components. Using the information in this section, you can then configure the extended transactional function for an XA compliant transaction manager such as CICS(R) and Tuxedo.





Quote:


This unit of work must be managed by an external transaction manager that is running on the same system as the client application. The unit of work cannot be managed by the queue manager to which the client application is connected. This means that the queue manager can act only as a resource manager, not as a transaction manager. It also means that the client application can commit or back out the unit of work using only the application programming interface (API) provided by the external transaction manager. The client application cannot, therefore, use the MQI calls, MQBEGIN, MQCMIT, and MQBACK.



From the above two quote, it seems that we must have extermal transactional manager.

I am so much confused reading about this. Somewhere I also found that mq can work as transactional manager.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Nov 16, 2006 6:01 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

MQ can only act as a transactional manager for transactions when the MQ application is using a server binding.

The ETC is intended to be used when something like WAS is available and handling the transactions with the database already and you don't want to colocate a queue manager on the same machine.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Nov 16, 2006 7:41 am    Post subject: Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

Thank you very much Jeff. I am clear when mq can act as TC and when it can not. But could you please tell me how I know that when i am esamining a new system without documentation. Some one has done that and now I have to fingure out what is acting as TC. I saw two stanza in qm.ini where i can see setup for RM but stil not sure what is TC. There is not WAS, it is not a JMS client and datastage is acting as ETL tool.

Datastage and mq are in the same box.

Thank you very much for you help
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Nov 16, 2006 7:55 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I believe that it is only when the Queue Manager is acting as the TC that any changes are made to qm.ini.

In cases where the QM is acting as an RM, then you only configure the TM to know how to talk to MQ, and don't configure MQ to know how to talk to the TM.

So if you see entries in qm.ini about XA, then I believe it is safe to assume that the QM is the TC. And there's nothing in Scenario 2 that talks about changes to qm.ini.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Nov 16, 2006 8:20 am    Post subject: Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

The qm.ini has XAResourceManager setup for two databases. In between oracle and mq is datastage. The datastage guy is not sure datastage is acting as TC. Also, i could not find any literature what says datastage can act as TC. Doe this mean i should conclude that mq is acting as TC.

all the team member ( 4 us of ) belive mq is working as TC. I am still not sure but need to come up with yes or not.

Also, do you have any idea, that in case of loadbalancing scenario in oracle, can the xa talk to one ( loadbalancer) or should talk to boht databases in both machine?

Thank you very much for your input
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Nov 16, 2006 8:55 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Again, my best guess is that if you have XA configuration in the qm.ini, then MQ has to be acting as the TC.

But I'm not positive.

If you're dealing with Oracle RAC and MQ XA, you are treading in unmapped waters. Your best bet is to carefully review the XAOpen string with a compentent Oracle DBA.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Nov 16, 2006 9:07 am    Post subject: Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

The oracleopen string in qm.ini is as follows:

Quote:


XAOpenString=Oracle_XA+Acc=P/xxxxxxxx/xxxxxxxx+SesTm=35+LogDir=/tmp+DB=yyyyyy+sqlNet=yyyyyy+threads=true



This does not tell about TC. and as i already said, qm.ini does have only two stanza where only two databases are configured.

Any further idea where I can explore. The xa client document does not tell about configuring TC at all.

thanks in advance
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Nov 16, 2006 9:10 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

To be clearer, my opinion is that if there is *any* XA stuff in qm.ini, then MQ *is* the TC.

I'm not a competant Oracle DBA. I can't tell you if your XAOpen string is configured to allow Oracle RAC failover to occur.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
mvic
PostPosted: Thu Nov 16, 2006 3:13 pm    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

jefflowrey wrote:
Again, my best guess is that if you have XA configuration in the qm.ini, then MQ has to be acting as the TC.

But I'm not positive.

You are correct Jeff. (Surprise, surprise) But one extra condition: for MQ to be TC you have to use MQBEGIN in the app.

If there are XAResourceManager stanzas in qm.ini (or equivalent on Windows) MQ will attempt to call the database XA functions during user calls to MQBEGIN. After MQBEGIN is called, a subsequent call to MQCMIT or MQBACK on the same HConn will also cause MQ to make XA calls on the database.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Nov 16, 2006 3:46 pm    Post subject: Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

Mvic,

Yes, the datastage app calls MQBEGIN, MQCOMIT, and ROLLBACK ( if transaction fails).

With this, can I conclude that MQ is working as TC. Sorry for ignorance. As I said, datastage is residing on the same box, and qm.ini has stanza for XAResourceManager.

Thank both of you for your input
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » Transactional Client setup in MQ and oracle
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.