ttXactAdminユーティリティは、未処理の各トランザクションの所有者、ステータス、ログおよびロックの情報を表示します。また、ttXactAdminユーティリティを使用すると、XAトランザクション・ブランチのコミット、強制終了または消去を経験則的に実行できます。
ttXactAdmin [-h | -help | -?]
ttXactAdmin [-V | -version]
ttXactAdmin [-v verbosity] [-lsn]
[-mt maxTrans] [-ml maxLocks] [-pid pid]
[-xact xid] [-tbl
[owner.]tableName]
[-row rowid] [-interval seconds] [-count iterations]
{DSN | -connstr <connStr>}
ttXactAdmin -latch
[-interval <seconds>] [-count <number>]
{DSN | -connstr connStr}
ttXactAdmin -latchstats [clear | off |on | show]
[-interval seconds] [-count iterations]
{DSN | -connstr connStr}
ttXactAdmin -connections
[-pid pid]
[-interval seconds] [-count iterations]
{DSN | -connstr connStr}
ttXactAdmin -xactIdRollback xid {DSN | -connstr connStr}
ttXactAdmin {-HCommit xid | -HAbort xid | -HForget xid}
{DSN | -connstr connStr}
ttXactAdminには次のオプションがあります。
ttXactAdminは次の出力を生成します。
列 | 説明 |
Program File Name | トランザクションを所有するプロセスの実行可能ファイル名です。 |
PID | トランザクションを所有するアプリケーションのプロセスIDです。Linuxでは、これは接続をオープンしたスレッドのPIDです。 |
Context | 単一のマルチスレッド・プロセスによる、データ・ストアへの複数の接続で区別するための内部識別子です。 |
TransId | TimesTenによって内部的に使用される、一意のトランザクション識別子です。識別子は2つの部分で構成されます。最初の部分は比較的小さな値(2048未満)で、同時にアクティブであるトランザクションを区別するために使用されます。2つ目の部分は大きな値(符号なし整数)になる可能性が高く、最初の部分が続けて使用される場合にそれらを区別するために使われます。この値は、必要に応じて始めに戻ります。このため、識別子4.100および4.200は同時には存在しません。4.100が出現し、その次に4.200が出現する場合、これはトランザクション4.100が完了(コミットまたはロールバック)したことを示しています。 |
TransStatus | トランザクションの現在のステータスです。次のいずれかのステータスになります。 Active : アクティブなトランザクション。 Committing : コミット中のトランザクション。ロックが解放されています。 Ckpointing : チェックポイントを実行しているトランザクション。 Rep-Wait-Return : RETURN RECEIPT/コミットを待機している、レプリケートされたトランザクション。 Idle : データに現在アクセスしていないトランザクション・ブランチ。 Prepared : 準備されたトランザクション・ブランチ。 Heur-Committed : 経験則的にコミットされたトランザクション・ブランチ。 Heur-Aborted : 経験則的に強制終了されたトランザクション・ブランチ。 Propagating : Oracleのコミットを待機しているTimesTenトランザクション。 |
Resource | 要求されているロックのタイプです。 Row : 行レベル・ロック。 HashedKey : ハッシュ索引のキー値に保持されたロック。処理でハッシュ索引を更新する必要がある場合に取得されます。 Table : 表レベル・ロック。 EndScan : 表またはTツリー・スキャン・ロックの終了。 Database : データ・ストア・レベル・ロック。 Command : コマンド・ロック。 Prepare : コマンドの準備中に取得されたロック。 GrpComm : グループ・コミット・ロック。 ReplHold : レプリケーション保持のロック。 XlaHold : XLA保持のロック。 |
ResourceId | 一意の各リソースの一意識別子。この識別子は、10進値で表示される表とCompCmdを除き、16進形式で表示されます。 |
Mode |
ロックが提供する同時実行性のレベルを判断するために使用される値です。 S: シリアライズ可能な分離における共有ロック。 Sn: シリアライズ可能でない分離における共有ロック。 U: シリアライズ可能な分離における更新ロック。 Un: シリアライズ可能でない分離における更新ロック。 En: シリアライズ可能でない分離におけるスキャン終了ロック。 IRC: シリアライズ可能でない分離における意図的な共有ロック。 IS: シリアライズ可能な分離における意図的な共有ロック。 IU: シリアライズ可能な分離における意図的な更新ロック。 IUn: シリアライズ可能でない分離における意図的な更新ロック。 IX: シリアライズ可能な分離における意図的な排他ロック。 IXn: シリアライズ可能でない分離における意図的な排他ロック。 SIX: シリアライズ可能な分離における、排他ロックの設定を目的とした共有ロック。 SIXn: シリアライズ可能でない分離における、排他ロックの設定を目的とした共有ロック。 X: 排他ロック。 Xn: シリアライズ可能でない分離における排他ロック。 W: 更新、挿入または削除表ロック。 XNi: 表または一意でない索引に挿入するための次のロック。 NS:シリアライズ可能な分離におけるすべての表ロックと競合するコミット読取り分離における表ロック。 ロック"0"は、ブロックしている処理がまだ待機リストにあることを意味します。 |
HMode | 待機状態のトランザクションが要求しているロックを保持する競合トランザクションのロック・モード。同時実行性レベルについては、この表の「Mode」を参照してください。 |
RMode |
待機状態のトランザクションがロックの保持を要求しているモードを示します。同時実行性レベルについては、この表の「Mode」を参照してください。 |
HolderTransId |
待機状態のトランザクションが競合しているトランザクションの識別子。 |
Name | ロックが保持されている、またはロックを含む表の名前。 |
次のコマンドはデータ・ストア内のすべてのロックを表示します。
ttXactAdmin -connstr DSN=demodata
Outstanding locks
PID Context TransId TransStatus Resource ResourceId Mode Name Program File Name: localtest10546 0x118e28 2047.000003 Active Table 411104 IS SYS.TABLES
Table416480 IXn TEST1.TAB1
Row0x00065ae0 Sn SYS.TABLES
Hashed Key0x69cf9c36 Sn SYS.TABLES
Database0x01312d00 IX
Row0x000eebfc Xn TEST1.TAB1
Program File Name: /users/smith/demo/XAtest1
XA-XID: 0xbea1-001b238716dc35a7425-64280531947e1657380c5b8d
1817 0x118e282046.000004 Active Table 416480 IS TEST1.TAB1
CompCmd21662408 S
Database20000000 IS
Row0x000eebf0 Sn TEST1.TAB1
Program File Name: /users/smith/demo/XAtest2
XA-XID: 0xbea1-001c99476cf9b21e85e1-70657473746f7265506f6f6c
273170x118e28 2045.000005 Prepared Table 411104 IS SYS.TABLES
Table416816 IXn TEST1.TAB2
Row0x00065c30 Sn SYS.TABLES
Database0x01312d00 IX
Hashed Key0x67fe3852 Sn SYS.TABLES
Row0x000ef804 Xn TEST1.TAB2
Program File Name: /users/smith/demo/Reptest
27589 0x118e28 2044.000006 Rep-Wait-Return
Awaiting locks PID Context TransId Resource ResourceId RMode HolderTransId HMode NameProgram File Name: /users/smith/demo/XAtest1
1817 0x118e28 2046.000004 Row 0x000eebfc Sn 2047.000003 Xn TEST1.TAB1
次のコマンドはトランザクション2045.000005に対するすべてのロックを表示します。
ttXactAdmin -xact 2045.000005 -connstr DSN=demodata
PID Context TransStatus 1stLSN LastLSN Resource ResourceId Mode Name Program File Name: /users/smith/demo/XAtest2 XA-XID: 0xbea1-001c99476cf9b21e85e1-70657473746f7265506f6f6c27317 0x118e28 Prepared 0.0116404 0.0116452 Table 411104 IS SYS.TABLES
Table416816 IXn TEST1.TAB2
Row0x00065c30 Sn SYS.TABLES
Database0x01312d00 IXn
Hashed Key 0x67fe3852 Sn SYS.TABLESRow 0x000ef804 Xn TEST1.TAB2
データ・ストアへのすべての接続を表示するには、次のコマンドを実行します。
$ ttXactAdmin -connections sample
2006-09-10 10:26:33 /datastore/terry/sample TimesTen Release 7.0.0.0.0 ID PID Context Name Program State TransID UID 1 29508 0x00000001001c6680 myconnection ttIsql Run 1.23 TERRY 2044 29505 0x0000000100165290 Worker timestensubd Run TERRY 2045 29505 0x00000001001df190 Flusher timestensubd Run TERRY 2046 29505 0x000000010021cc50 Monitor timestensubd Run TERRY 2047 29505 0x0000000100206730 Checkpoint timestensubd Run TERRY 5 connections found
コマンドで指定されたトランザクションがXAトランザクション・ブランチでなく、TimesTenのローカル・トランザクションである場合、XA-XIDは表示されません。XA-XIDはフォーマット識別子を含むC構造体で、2つのデータ長フィールドと1つのデータ・フィールドを持ちます。データ・フィールドは、グローバル・トランザクション識別子(gtrid)およびブランチ修飾子(bqual)という、最大2つの連続するコンポーネントで構成されます。2つのデータ長フィールドは、gtridおよびbqualのバイト数(1-64)をそれぞれ指定します。詳細は、X/Openの文書『Distributed Transaction Processing』のXA仕様(c193)に関する説明を参照してください。
RModeにおいては、待機状態のトランザクションはPIDおよびContextによってソートされます。リストにはロック・リクエストの順番は反映されません。
ロック・リクエスト・キュー内で、互換性のあるモードのリクエストの前に互換性のないモードの別のロック・リクエストがあるため、HModeのロック保持者と互換性のあるRModeのロック・リクエストが待機することがあります。