WebSphere MQ Workflow systems using MQ Series V6 or higher and and DB2 V9.7 or Oracle V11 may encounter intermittent problems with transactional commit.
Two phase database transactions may fail to commit properly and the WebSphere MQ Workflow fmcsys.log file will contain messages such as 'FMC12200I Internal retry... ' or 'FMC00118E Object does not exist'
Changes to the default transactional behavior can cause the commit to take place in the wrong order in a two phase commit.
Unix or Windows based
Diagnosing the problem
The Websphere MQ Workflow fmcsys.log file contains entries of FMC12200I or FMC00118E
Resolving the problem
For DB2 V9.7 the problem can be more pronounced. Make sure the DB2 property CUR_COMMIT is set to 'DISABLED' (default setting is 'ON'). As of MQ Series V22.214.171.124 an environment variable named AMQ_REVERSE_COMMIT_ORDER is available which will correct the commit order. This variable will also apply when using Oracle V11.x.
The variable requires a non-NULL value, however, a value of "YES" makes it more clear.
It is an environment variable so to set it:
UNIX: export AMQ_REVERSE_COMMIT_ORDER=YES
Windows: set AMQ_REVERSE_COMMIT_ORDER=YES
Restart the queue manager after setting the variable for it to take effect.
Please see APAR IY96836 regarding the variable AMQ_REVERSE_COMMIT_ORDER
fmc00wf fmc00mqm fmc00dba fmc00ora