Troubleshooting transaction Merger
Transaction Merger, a component on the server side, pulls the DX files from the inbox within the Docking Directory. Transaction Merger applies the changes to the server. If the Siebel implementation uses the Audit Trail feature, then Transaction Merger places information about disconnected transactions that synchronize successfully into the database tables used by Audit Trail. Transaction Merger also identifies synchronization conflicts. Transaction Merger deletes the DX files from the inbox within the Docking Directory. The default value for ‘Running Normal Tasks’ parameter of transaction merger is 1.
1. The first step that can be taken in case of transaction merger failure is to restart the merger manually.
To create Task for Transaction Merger, enter the following command on srvrmgr command line:
start task for comp txnmerge server <server_name> with <parameter>=<value>,<parameter2>=<value2>,…
2. If restarting the server does not fix the problem then we can increase the log level for transaction merger from 1 to 5 to get the adequate information required. Wait the component to start processing the user and then fail so that information can be logged but increasing the log level may create disk space problem, so we should revert back the log level to 1 after getting adequate logs to monitor and analyze the problem. After that we can delete the logs from log folder.
3. If the .DX file is not getting removed from the Inbox of user, then either the .DX file is corrupt or it may be of large size. In that case rename the present inbox folder as inbox_error due to which the particular remote user will not be able to complete the synchronization task but it will not affect other User’s synchronization task.
4. To analyze the root cause of problem extract the .DX file from Inbox_error and decode it using the command:
txnutl /U SADMIN /P <PASSWORD> /R <Location from which DX file has to be read> /W <Location to write the decoded DX file> /Z N > <Location to write the log>.
5. Check the status of the “Transaction Merger” task. It can be either “Sleeping…” or “Merging transactions for <USERNAME>”. If the message is latter one then it means that the task is cycling between being stopped and processing only one user. In that case you can expect that the user has a corrupt transaction.
Resolution: Rename the user’s inbox (siebelclient\docking\<username>\inbox ) to “inbox_error”. This will temporarily prevent the single user from synchronising with the server but will fix the problem for everyone else.