ttXactAdminユーティリティの使用

ttXactAdminユーティリティは、未処理の各トランザクションの所有者、ステータス、ログおよびロックの情報を表示します。このユーティリティを使用して、データベースへの現在のすべての接続を表示することもできます。ttXactAdminユーティリティは、レプリケーション、XLAおよび非同期WRITETHROUGHキャッシュ・グループの問題のトラブルシューティングに役立ちます。

ttXactAdminを使用してロック・タイムアウトを診断します。同じ行を更新しようとしている2つの接続について考えてみます。接続1による次のトランザクションが進行中です。

UPDATE table1 SET c1 = 2 WHERE c1 = 1;

接続2では、次の更新を実行しようとします。

UPDATE table1 SET c1 = 3 WHERE c1 = 1;

接続2は、次のエラーを受信します。

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.

エラーの詳細によると、トランザクション1.21では行0x00156bbc(トランザクション2.3が更新する行)がロックされていることがわかります。ttXactAdminによって、データベース全体のアクションに関する出力にこの情報が表示されます。

% 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

『Oracle TimesTen In-Memory Databaseリファレンス』「ttXactAdmin」を参照してください。