ttXactAdmin

ttXactAdminユーティリティは、未処理の各トランザクションの所有者、ステータス、ログおよびロックの情報を表示します。また、経験則的にXAトランザクション・ブランチのコミット、終了または消去を実行できます。

アプリケーションではログの保持とログ・ファイルの蓄積を監視する必要があります。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』「トランザクション・ログ・ファイルの蓄積の監視」を参照してください。

必要な権限

このユーティリティを使用するには、コマンドラインに入力するオプションに応じて様々な権限が必要です。必要な権限を確認するには、オプションの説明を参照してください。

TimesTen ScaleoutおよびTimesTen Classicでの使用

このユーティリティはTimesTen Classicでサポートされていますが、TimesTen Scaleoutではサポートされません。

構文

ttXactAdmin {-h | -help | -?}
ttXactAdmin {-V | -version}

ttXactAdmin [-v verbosity] [-mt maxTrans] [-ml maxLocks] [-pid pid] 
[-xact xid] [-tbl [owner.]tableName] [-interval seconds]
[-count iterations] {DSN | -connstr connection_string}

ttXactAdmin -latch [-interval seconds] [-count iterations]
{DSN | -connstr connection_string}

ttXactAdmin -latch [-interval seconds] [-count iterations] 
{DSN | -connstr connection_string}

ttXactAdmin -connections [-pid pid] [-interval seconds]
[-count iterations] {DSN | -connstr connection_string}

ttXactAdmin -xactIdRollback xid {DSN | -connstr connection_string}

ttXactAdmin -XactIdCommit xid 

ttXactAdmin {-HCommit xid | -HAbort xid | -HForget xid} {DSN | -connstr connection_string}

オプション

ttXactAdminには次のオプションがあります。

オプション 説明

-connections

データベースへの現在の接続をすべて表示します。-connectionsオプションとともに実行する場合、ttXactAdmin自体はデータベースへ実際の接続を確立せず、ラッチを要求しません。このことは、フリーズしたシステムを診断するときに役立つことがあります。

このオプションには、ADMIN権限が必要です。

-connStr connection_string

データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。

-count iterations

iterations回レポートを生成します。-intervalオプションを指定しない場合は、1秒間隔で生成します。

DSN

管理するデータベースのODBCデータソース名を示します。

このオプションには、ADMIN権限が必要です。

-h

-help

-?

使用方法のメッセージを出力して終了します。

-HAbort xid

TimesTenのXAトランザクション・ブランチを経験則的に終了します。トランザクションIDには、ローカルTimesTenのTransIDを指定する必要があります。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

-HCommit xid

TimesTenのXAトランザクション・ブランチを経験則的にコミットします。トランザクションIDには、ローカルTimesTenのTransIDを指定する必要があります。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

-HForget xid

TimesTenのXAトランザクション・ブランチを経験則的に消去します。トランザクションIDには、ローカルTimesTenのTransIDを指定する必要があります。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

-interval seconds

指定した秒数一時停止しながら、レポートの生成を繰り返します。-countオプションが指定されない場合は、永続的に繰り返します。

-latch

このオプションは、TimesTenカスタマ・サポートによってのみ使用されます。このオプションは、指定したデータベースのラッチ情報のみを表示します。

-ml maxLocks

トランザクションごとのロックの最大数です。デフォルトは6000です。

-mt maxTrans

表示する最大トランザクション数を指定します。デフォルトは、未処理のトランザクションすべてが表示されます。

-pid pid

指定したpidのプロセスによって開始されたトランザクションのみを表示します。Linuxでは、接続をオープンしたスレッドのpidです。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

-tbl [owner.]tableName

指定した表のロック情報を表示します。

このオプションには、ADMIN権限または指定した表の所有権が必要です。

-V | -version

ttXactAdminのリリース番号を出力し、終了します。

-v verbosity

冗長レベルを指定します。次のいずれかになります:

0 - 行ロックの表の名前を表示しません。この場合、ttXactAdminの実行がより高速になります。

1(デフォルト) - 行ロックの表の名前を表示します。

-xact xid

ログの保持LSNを含む、指定したトランザクションの情報を表示します。出力では、フィールド「Last ID」は2つの順序番号のセットです。時間隔内に順序番号が変わらなかった場合、その時間隔内にトランザクションによって書き込まれたログ・レコードはありません。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

-xactIdCommit xid

トランザクションをコミットできるようにします。これは長時間実行されるトランザクションで特に役立つ場合があります。xidパラメータはトランザクションIDを表します。

これにより、そのトランザクションのかわりに現在実行中の操作がすべて停止され、TimesTenでトランザクションがロールバックされます。

ロールバックがリクエストされたときにチェックポイント処理が進行中の場合、TimesTenによってチェックポイント処理が終了されます。このコマンドによって、Oracle上でのキャッシュ操作が停止されることはありません。操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルー、伝播および動的ロードが含まれます。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

-xactIdRollback xid

トランザクションをロールバックできるようにします。これは長時間実行されるトランザクションで特に役立つ場合があります。xidパラメータはトランザクションIDを表します。これにより、そのトランザクションのかわりに現在実行中の操作がすべて停止され、TimesTenでトランザクションがロールバックされます。

ロールバックがリクエストされたときにチェックポイント処理が進行中の場合、TimesTenによってチェックポイント処理が終了されます。このコマンドによって、Oracle上でのキャッシュ操作が停止されることはありません。操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルー、伝播および動的ロードが含まれます。

このオプションには、ADMIN権限または指定したトランザクションの所有権が必要です。

出力

ttXactAdminは次の出力を生成します。

説明

Program File Name

トランザクションを所有するプロセスの実行可能ファイル名です。

PID

トランザクションを所有するアプリケーションのプロセスIDです。Linuxでは、これは接続をオープンしたスレッドのPIDです。

Context

単一のマルチスレッド・プロセスによる、データベースへの複数の接続で区別するための内部識別子です。

XactID

TimesTenによって内部的に使用される、一意のトランザクション識別子です。TimesTen Classicの場合、識別子は2つの部分で構成されます。TimesTen Scaleoutの場合、識別子には接頭辞として要素IDが付きます。

最初の部分は比較的小さな値(2048未満)であり、トランザクションを実行するプログラムの接続を識別するために使用されます。

2つ目の部分は大きな値(符号なし整数)になる可能性が高く、最初の部分が続けて使用される場合にそれらを区別します。(この値は必要に応じて始めに戻ります。)このため、識別子4.100および4.200は同時には存在しません。4.100が出現し、その次に4.200が出現する場合、これはトランザクション4.100が完了(コミットまたはロールバック)したことを示しています。

State

トランザクションの現在の状態を示し、次のいずれかになります。

Active - アクティブなトランザクション。

Aborting - 終了処理中のトランザクション。詳細は、「ノート」を参照してください。

Committing - コミット中のトランザクション。ロックが解放されています。

Ckpointing - チェックポイントを実行しているトランザクション。

Rep-Wait-Return - RETURN RECEIPT/コミットを待機している、レプリケートされたトランザクション。

Idle - データに現在アクセスしていないトランザクション・ブランチ。

Prepared - 準備されたトランザクション・ブランチ。

Heur-Committed - 経験則的にコミットされたトランザクション・ブランチ。

Heur-Aborted - 経験則的に終了されたトランザクション・ブランチ。

Propagating - Oracleのコミットを待機しているTimesTenトランザクション。

TimesTen Scaleoutを使用している場合は、トランザクションの現在のステータスを示し、次のいずれかになります。

Active - アクティブなトランザクション。

Aborting - 終了処理中のトランザクション。詳細は、「ノート」を参照してください。

Committing - コミット中のトランザクション。ロックが解放されています。

Ckpointing - チェックポイントを実行しているトランザクション。

Rep-Wait-Return - RETURN RECEIPT/コミットを待機している、レプリケートされたトランザクション。

Idle - データに現在アクセスしていないトランザクション・ブランチ。

Grid-Doubtful-Yes - グリッド・トランザクションは、この要素に関してコミットを準備し、yesを投票しましたが、現在は不確かです。

Grid-Doubtful-No - グリッド・トランザクションは、この要素に関してコミットを準備し、noを投票しましたが、現在は不確かです。

Grid-Err - グリッド・トランザクションはこの要素に関してエラーを返しました。

Resource

要求されているロックのタイプです。

Row - 行レベル・ロック。

HashedKey - ハッシュ索引のキー値に保持されたロック。処理でハッシュ索引を更新する必要がある場合に取得されます。

Table - 表レベル・ロック。

EndScan - 表または範囲スキャン・ロックの終了。

Database - データベース・レベル・ロック。

Command - コマンド・ロック。

Prepare - コマンドの準備中に取得されたロック。

GrpComm - グループ・コミット・ロック。

ReplHold - レプリケーション保持のロック。

XlaHold - XLA保持のロック。

ResourceId

一意の各リソースの一意識別子。この識別子は、いくつかの例外を除いて、16進形式で表示されます。TableおよびCompCmdは、10進値で表示されます。行ロックは、ROWID文字形式で表示されます。

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"
2022-03-20 13:02:54.760
/timesten/jsmith/demo/demodata
TimesTen Release 22.1.1.21.0
ElementID 1

Program File Name: _ttIsql
XactID            PID      Context            State       Loghold Last ID
1.1.195           115640   0x859570           Active      391.15355904 [1666839:6]

  Resource  ResourceID           Mode  SqlCmdID             Name
  Database  0x01312d0001312d00   IX    0
  Table     2367528              IXn   275642480            JSMITH.T
  Row       AAAVVUAAADXAQAANje   Xn    275642480            JSMITH.T

  Begin Time: 13:01:43.108

1 outstanding transaction 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)に関する説明を参照してください。

データベースでは、シリアライズ可能な分離モードの場合に、TimesTenはSロックのみを保持します。コマンドの場合、Sは「共有」ロックのみを意味します。また、シリアライズ可能な分離モードでもコミット読取り分離モードでも保持できます。RModeでは、待機状態のトランザクションはPIDおよびContextによってソートされます。リストにはロック・リクエストの順番は反映されません。

ロック・リクエスト・キュー内で、互換性のあるモードのリクエストの前に互換性のないモードの別のロック・リクエストがあるため、HModeのロック保持者と互換性のあるRModeのロック・リクエストが待機することがあります。

次のいずれかの理由により、トランザクションはAbortingステータスになります。

  • 大量の処理を行った後にユーザー・アプリケーションによってロールバックが要求された。

  • autocommitが有効なアプリケーションで、完了できなかった文を実行しようとして、実行できないままでいる。

  • ttXactAdminへの別のコールによってトランザクションのロールバックが発生した。

  • 処理中のプロセスが停止し、その処理が完了していない。