rsvmqtrn (resolve transactions)

Resolve in-doubt and heuristically completed transactions

Purpose

You can use the rsvmqtrn command to resolve two different transaction states. You can resolve internal or external in-doubt transactions, and external heuristically completed transactions. Heuristically completed transactions are transactions that are manually resolved by a resource manager but are unacknowledged by the transaction manager.

Syntax

Read syntax diagramSkip visual syntax diagram rsvmqtrn -m QMgrName +- -a-b -c -f -r RMID Transaction

Parameters

-m QMgrName
Specifies the name of the queue manager to resolve transactions for.
This parameter is required.
Attention: The following parameters are mutually exclusive. You must supply the -a parameter on its own, or one of the other parameters together with its transaction number.
-a
Specifies that the queue manager resolves all internally coordinated, in-doubt transactions. That is, all global units of work.
-b Transaction
Specifies that the named transaction is backed out.
Transaction specifies the number of the transaction to back out.
This flag is valid for externally coordinated transactions only. That is, for external units of work only.
-c Transaction
Specifies that the transaction is committed.
Transaction specifies the number of the transaction to commit.
This flag is valid for externally coordinated transactions only. That is, external units of work only.
-f Transaction
Specifies that the named heuristically completed transaction is forgotten.
This flag is valid only for externally coordinated transactions that are resolved, but unacknowledged by the transaction coordinator. That is, external units of work that are resolved, but unacknowledged by the transaction coordinator.
Use this parameter only if the external transaction coordinator is never going to be able to acknowledge the heuristically completed transaction. For example, if the transaction coordinator was deleted.
-r RMID Transaction
Specifies that the participation of the resource manager in the in-doubt transaction can be ignored.
The queue manager does not call the resource manager. Instead, it marks the participation of the resource manager in the transaction as being complete.
RMID specifies the ID of the resource manager. Transaction specifies the number of the transaction.
This flag is valid for internally coordinated transactions only, and for resource managers that had their resource manager configuration entries removed from the queue manager configuration information.

Usage notes

  • This command must be run from the IBM® MQ administration mode. If the system is in the IBM MQ administration mode the prompt includes mqa(mqcli)#. To enter the IBM MQ administration mode, enter mqcli on the command line. To exit the IBM MQ administration mode, enter exit on the command line.
  • Use this command only when you are certain that transactions cannot be resolved by the normal protocols. Using this command might result in the loss of transactional integrity between resource managers for a distributed transaction.
  • You can use the dspmqtrn command to find the number of a transaction.
  • For more information about this command in IBM MQ, see rsvmqtrn in the IBM MQ documentation.

Examples

  • The following command shows all internally coordinated, in-doubt transactions being resolved for queue manager QM1:
    rsvmqtrn -m QM1 -a
    

Related commands