Using the ttXactAdmin Utility
The ttXactAdmin
utility displays ownership, status, log and lock information for each outstanding transaction. You can also use it to show all current connections to a database. The ttXactAdmin
utility is useful for troubleshooting problems with replication, XLA, and asynchronous writethrough cache groups.
Use ttXactAdmin
to diagnose a lock timeout. Consider two connections that are trying to update the same row. The following transaction by Connection 1 is in progress:
UPDATE table1 SET c1 = 2 WHERE c1 = 1;
Connection 2 attempts to make the following update:
UPDATE table1 SET c1 = 3 WHERE c1 = 1;
Connection 2 receives the following error:
6003: Lock request denied because of time-out Details: Tran 2.3 (pid 2880) wants Un lock on rowid 0x00156bbc, table TTUSER.TABLE1. But tran 1.21 (pid 2564) has it in Xn (request was Xn). Holder SQL (update table1 set c1 = 2 where c1 = 1;) The command failed.
The details of the error indicate that transaction 1.21 has a lock on row 0x00156bbc, the row that transaction 2.3 wants to update. ttXactAdmin
displays this information in output that pertains to actions in the entire database:
% ttXactAdmin myDSN 2011-03-07 12:57:41.237 c:\datastore\myDSN TimesTen Release 11.2.2.0.0 Outstanding locks PID Context TransID TransStatus Resource ResourceID Mode Name Program File Name: ttIsql 2564 0xeeb9a8 1.21 Active Database 0x01312d00 IX Row 0x00156bbc Xn TTUSER.TABLE1 Table 1910868 IXn TTUSER.TABLE1 Program File Name: ttIsql 2880 0xeeb9a8 2.3 Active Database 0x01312d00 IX Table 1910868 IXn TTUSER.TABLE1 Command 19972120 S Awaiting locks PID Context TransID Resource ResourceID RMode HolderTransID HMode Name 2880 0xeeb9a8 2.3 Row 0x00156bbc Un 1.21 Xn TTUSER.TABLE1 2 outstanding transactions found
See ttXactAdmin in the Oracle TimesTen In-Memory Database Reference.