2.107.1 HiRDB/シングルサーバ又はFESユニットにpdtrnqingコマンドを実行する場合
(1) 機能
トランザクションキューイングを開始又は解除します。
なお,HiRDB/パラレルサーバの場合は,次に示す条件を満たすユニットに対してだけトランザクションキューイングを適用できます(pdtrnqingコマンドを実行できます)。
-
フロントエンドサーバだけで構成されているユニット
-
システムマネジャとフロントエンドサーバだけで構成されているユニット
この条件を満たしていないユニットにはトランザクションキューイングを適用できません(pdtrnqingコマンドを実行できません)。
なお,これらの条件を満たすユニットをここではFESユニットと表記します。
(2) このコマンドの目的
pdtrnqingコマンドは,スタンバイ型系切り替え機能の計画系切り替えを行う前に,新規トランザクションをキューイングしておくために使います。pdtrnqingコマンドを実行したときのHiRDBの処理をシステム構成ごとに説明します。
-
HiRDB/シングルサーバの場合
pdtrnqingコマンドを実行すると,新規トランザクションのキューイングが開始されて,新規トランザクションは待ち状態になります(実行中のトランザクションは処理されます)。新規トランザクションがキューイングされるため,計画系切り替えを行うときに,トランザクションエラーが発生しません。
-
HiRDB/パラレルサーバの場合
pdtrnqingコマンドを実行すると,コマンド実行対象ユニット(FESユニット)の新規トランザクションのキューイングが開始されて,新規トランザクションは待ち状態になります(実行中のトランザクションは処理されます)。FESユニットの新規トランザクションがキューイングされるため,FESユニットの計画系切り替えを行うときに,トランザクションエラーが発生しません。
- 注意事項
-
計画系切り替えを実行する場合は,クライアント環境定義のPDAUTORECONNECTオペランドにYESを指定して,自動再接続機能を適用しておく必要があります。自動再接続機能を適用しないと,計画系切り替え中にHiRDBに接続しようとしたUAPがCONNECTエラーになることがあります。
(3) 実行者
HiRDB管理者が実行できます。
(4) 形式
pdtrnqing 〔-d|-t 待ち合わせ時間〕
(5) オプション
(a) -d
トランザクションキューイングを解除する場合にこのオプションを指定します。
(b) -t 待ち合わせ時間 〜<符号なし整数>((1〜3600))《180》(単位:秒)
pdtrnqingコマンドは,実行中のトランザクション(HiRDB/パラレルサーバの場合はFESユニットで実行中のトランザクション)が終了するまで処理を待ち合わせます。この待ち合わせ時間を秒単位で指定します。実行中のトランザクションがここで指定した時間を経過しても終了しない場合,トランザクションキューイングを中止してpdtrnqingコマンドをエラー終了します。
(6) 規則
-
HiRDB/パラレルサーバの場合,トランザクションキューイングを適用(開始又は解除)するユニットでpdtrnqingコマンドを実行します。pdtrnqingコマンドを実行したユニットだけにトランザクションキューイングが適用されます。
-
停止中のユニットでpdtrnqingコマンドを実行できません。
-
次に示す場合,pdtrnqingコマンドは正常終了します。この場合,トランザクションキューイングの適用状態は変わりません。
-
トランザクションキューイングの適用中に,pdtrnqingコマンドを実行して再度トランザクションキューイングを開始しようとした場合
-
トランザクションキューイング中でないときに,pdtrnqing -dコマンドを実行してトランザクションキューイングを解除しようとした場合
-
(7) 注意事項
-
ほかのコマンドの実行中にpdtrnqingコマンドを実行しないでください。実行すると,ほかのコマンドがエラー終了することがあります。
-
次に示す場合にpdtrnqingコマンドを実行すると,pdtrnqingコマンドがエラー終了します。
-
修正版HiRDBの入れ替え(pdprgrenewコマンド)を実行している場合
-
システム構成変更コマンド(pdchgconfコマンド)を実行している場合
-
-
次に示す場合にpdtrnqingコマンドでトランザクションキューイングを開始しようとすると,pdtrnqingコマンドがエラー終了します。
-
ユティリティを実行している場合
-
トランザクションキューイングの開始処理中の場合
-
-
実行中のトランザクションの終了をpdtrnqingコマンドが待ち合わせている間に,次の操作を行った場合,次のコマンドの処理を優先します。このとき,pdtrnqingコマンドはキャンセルされてエラー終了します。
-
HiRDBの正常終了又は計画停止(pdstopコマンド)
-
HiRDBの強制終了(pdstopコマンド)※
-
修正版HiRDBの入れ替え(pdprgrenewコマンド)
-
システム構成変更コマンドの実行(pdchgconfコマンド)
-
トランザクションキューイングの解除(pdtrnqing -dコマンド)
注※ HiRDBを強制終了する場合,pdtrnqingコマンドは強制停止(kill)されます。
-
-
次に示す操作をした場合,トランザクションキューイングは自動的に解除されます。
-
トランザクションキューイングを行っているユニットを再開始した場合(ユニットを系切り替えした場合も含む)
-
システム,ユニット,サーバを終了した場合(pdstopコマンド)※1※2
-
修正版HiRDBの入れ替え(pdprgrenewコマンド)
-
システム構成変更コマンドの実行(pdchgconfコマンド)
- 注※1
-
トランザクションキューイング中のユニット,又はユニット内のサーバを終了した場合にトランザクションキューイングが解除されます。
- 注※2
-
pdstopコマンドがエラー終了した場合でも,トランザクションキューイングが解除されることがあります。
-
-
UAPのトランザクションがキューイングの対象になりますが,次に示すトランザクションはキューイングの対象になりません。
-
定義系SQLを実行するトランザクション
-
ホールダブルカーソルを使用しているトランザクション
-
ASSIGN LIST文を実行するトランザクション
-
UNTIL DISCONNECT指定のLOCK文を実行するトランザクション
-
X/Open XAインタフェースを使用したトランザクション
-
コマンド又はユティリティのトランザクション
-
(8) リターンコード
pdtrnqingコマンドのリターンコードを次に示します。
0:正常終了
4:警告
8:エラー終了
- 12:エラー終了
-
リターンコードの8及び12は,トランザクションキューイングの開始又は解除が実行できなかったときに返されるリターンコードです。このとき,イベントログ又は標準エラー出力にメッセージが出力されます。
実行環境の不正や,操作誤りなどの場合はリターンコード8で終了し,それ以外の場合はリターンコード12で終了します。