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」を参照してください。