コマンド解説書

LIST INDOUBT TRANSACTIONS

未確定トランザクションのリストを表示します。 未確定トランザクションのコミット、ロールバック、または破棄を対話式で実行できます。

2 フェーズ・コミット・プロトコルは、以下のもので構成されます。

  1. PREPARE フェーズ。このフェーズでは、 リソース・マネージャーがログ・ページをディスクに書き込んでいるので、 COMMIT または ROLLBACK プリミティブのどちらにも応答することができます。
  2. COMMIT (または ROLLBACK) フェーズ。このフェーズでは、 トランザクションの実際のコミットまたはロールバックが実行されます。

未確定トランザクションは、準備済みのトランザクションのうち、 コミットまたはロールバックが実行されていないものです。

効力範囲

このコマンドは、 このコマンドが実行されたノード上にある未確定トランザクションのリストを戻します。

許可

dbadm

必須接続

データベース。 暗黙接続が可能な場合には、省略時データベースへの接続が確立されます。

コマンド構文

>>-LIST INDOUBT TRANSACTIONS--+----------------+---------------><
                              '-WITH PROMPTING-'
 

コマンド・パラメーター

WITH PROMPTING
未確定トランザクションを処理することを指定します。 このパラメーターを指定すると、対話式ダイアログ・モードが開始され、 未確定トランザクションのコミット、ロールバック、または破棄が可能になります。 このパラメーターを指定しない場合、 未確定トランザクションは標準出力装置に書き込まれ、 対話式ダイアログ・モードは開始されません。

対話式ダイアログ・モードでは次のことが可能です。

注:コマンド文字と引き数の間は、ブランク・スペースで区切る必要があります。

トランザクションのコミット、ロールバック、または破棄を実行する前に、 トランザクション・データが表示され、 アクションを確認するように求められます。

次に示すのは、LIST INDOUBT TRANSACTIONS によって生成されるダイアログ例です。

 
 
In-doubt Transactions for Database SAMPLE
 
1.   originator: XA
     appl_id: *LOCAL.DB2.95051815165159       sequence_no: 0001  status: i
timestamp: 05-18-1997 16:51:59 auth_id: SMITH  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F93DD A92F8C4FF3000000
0000BD
 
2.   originator: XA
     appl_id: *LOCAL.DATABASE.950407161043  sequence_no: 0002  status: i
timestamp: 04-07-1997 16:10:43  auth_id: JONES  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F95FE B62F8C4FF3000000
0000C1
   .
   .
   .
 
Enter in-doubt transaction command or 'q' to quit.
e.g. 'c 1' heuristically commits transaction 1.
c/r/f/l/q: c 1
 
1.   originator: XA
     appl_id: *LOCAL.DB2.95051815165159       sequence_no: 0001  status: i
timestamp: 05-18-1997 16:51:59 auth_id: SMITH  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F93DD A92F8C4FF3000000
0000BD
 
Do you want to heuristically commit this in-doubt transaction ? (y/n) y
 
DB20000I "COMMIT INDOUBT TRANSACTION" completed successfully
 
c/r/f/l/q: c 5
 
DB20030E "5" is not a valid in-doubt transaction number.
 
c/r/f/l/q: l
 
In-doubt Transactions for Database SAMPLE
 
1.   originator: XA
     appl_id: *LOCAL.DB2.95051815165159       sequence_no: 0001  status: c
timestamp: 05-18-1997 16:51:59 auth_id: SMITH  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F93DD A92F8C4FF3000000
0000BD
 
2.   originator: XA
     appl_id: *LOCAL.DATABASE.950407161043  sequence_no: 0002  status: i
timestamp: 04-07-1997 16:10:43  auth_id: JONES  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F95FE B62F8C4FF3000000
0000C1
   .
   .
   .
c/r/f/l/q: r 2
 
2.   originator: XA
     appl_id: *LOCAL.DATABASE.950407161043  sequence_no: 0002  status: i
timestamp: 04-07-1997 16:10:43  auth_id: JONES  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F95FE B62F8C4FF3000000
0000C1
 
Do you want to heuristically rollback this in-doubt transaction ? (y/n) y
 
DB20000I "ROLLBACK INDOUBT TRANSACTION" completed successfully
 
c/r/f/l/q: l 2
 
2.   originator: XA
     appl_id: *LOCAL.DATABASE.950407161043  sequence_no: 0002  status: r
timestamp: 04-07-1997 16:10:43  auth_id: JONES  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F95FE B62F8C4FF3000000
0000C1
 
c/r/f/l/q: f 2
 
2.   originator: XA
     appl_id: *LOCAL.DATABASE.950407161043  sequence_no: 0002  status: r
timestamp: 04-07-1997 16:10:43  auth_id: JONES  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F95FE B62F8C4FF3000000
0000C1
  
Do you want to forget this in-doubt transaction ? (y/n) y
 
DB20000I "FORGET INDOUBT TRANSACTION" completed successfully
 
c/r/f/l/q: l 2
 
2.   originator: XA
     appl_id: *LOCAL.DATABASE.950407161043  sequence_no: 0002  status: f
timestamp: 04-07-1997 16:10:43  auth_id: JONES  log_full: n type: RM
xid: 53514C2000000017 00000000544D4442 00000000002F95FE B62F8C4FF3000000
0000C1
 
c/r/f/l/q: q
 
注:LIST INDOUBT TRANSACTIONS コマンドは、 それぞれの未確定トランザクションでのデータベースの役割を示す、 以下のタイプ 情報を戻します。

TM
未確定トランザクションは、 データベースをトランザクション・マネージャー・データベースとして使用することを示します。

RM
未確定トランザクションは、 データベースをリソース・マネージャーとして使用することを示します。 つまり、それがトランザクションに参加する複数のデータベースの 1 つであっても、 トランザクション・マネージャー・データベースではないことを示します。

使用上の注意

未確定トランザクションは、 未確定状態のままになっているグローバル・トランザクションです。 これは、2 フェーズ・コミット・プロトコルの第 1 フェーズ (つまり PREPARE フェーズ) を正常終了した後、トランザクション・マネージャー (TM)、 または少なくとも 1 つのリソース・マネージャー (RM) のいずれかが使用できなくなった場合に発生します。 RM がもう一度使用可能になり、 TM が RM からの未確定状況情報に関するログを統合できるようになるまで、 RM はトランザクションの分岐をコミットするのかそれともロールバックするかがわかりません。 詳しくは、管理の手引き の中の、 DB2 を XA 互換トランザクション・マネージャーと一緒に使用する方法について説明している章を参照してください。 未確定トランザクションは MPP 環境にも存在させることができます。 詳しくは、管理の手引き の中の、障害が発生したデータベース区画サーバーで トランザクション障害を回復する方法について説明している節を参照してください。

現在接続されているデータベースに対して LIST INDOUBT TRANSACTIONS が出された場合、 そのデータベースの未確定トランザクションに関する情報が戻されます。

コミットできるのは、状況が未確定 (i)、 またはコミット肯定応答欠落 (m) のトランザクションだけです。

ロールバックできるのは、 状況が未確定 (i) または終了済み (e) のトランザクションだけです。

破棄できるのは、 状況がコミット済み (c) またはロールバック済み (r) のトランザクションだけです。
注:2 フェーズ・コミットのコミット・フェーズでは、 調整プログラム・ノードがコミットの肯定応答を待機します。 (ノード障害などの理由で) 応答しないノードが 1 つ以上ある場合、 そのトランザクションはコミット肯定応答欠落状態になります。

未確定トランザクション情報は、コマンドが出された時点でしか有効ではありません。 対話式ダイアログ・モードに入ってしまうと、 外部の活動のためにトランザクション状況が変更されることがあります。 その場合、該当する状況にない未確定トランザクションを処理しようとすると、 エラー・メッセージが表示されます。

このタイプのエラーが発生した場合、 ユーザーは対話式ダイアログを終了 (q) しなければなりません。 そして、表示される情報を最新表示にするために、 LIST INDOUBT TRANSACTIONS WITH PROMPTING コマンドを再発行する必要があります。

詳しくは、管理の手引き を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]