スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)
pdtrnqing(トランザクションキューイング機能の開始,解除)
pdtrnqingコマンドは次に示す実行環境で使用できます。
- HiRDB/シングルサーバの場合,又はHiRDB/パラレルサーバでFESユニットがある場合
- 影響分散スタンバイレス型系切り替え機能を使用している場合
実行環境によってpdtrnqingコマンドの仕様が異なるため,実行環境ごとにコマンドの説明を行います。
(1)HiRDB/シングルサーバ又はFESユニットにpdtrnqingコマンドを実行する場合
HiRDB/シングルサーバ又はFESユニットにpdtrnqingコマンドを実行する場合について説明します。
機能
トランザクションキューイングを開始又は解除します。
なお,HiRDB/パラレルサーバの場合は,次に示す条件を満たすユニットに対してだけトランザクションキューイングを適用できます(pdtrnqingコマンドを実行できます)。
- フロントエンドサーバだけで構成されているユニット
- システムマネジャとフロントエンドサーバだけで構成されているユニット
この条件を満たしていないユニットにはトランザクションキューイングを適用できません(pdtrnqingコマンドを実行できません)。
なお,これらの条件を満たすユニットをここではFESユニットと表記します。
このコマンドの目的
pdtrnqingコマンドは,スタンバイ型系切り替え機能の計画系切り替えを行う前に,新規トランザクションをキューイングしておくために使います。pdtrnqingコマンドを実行したときのHiRDBの処理をシステム構成ごとに説明します。
- HiRDB/シングルサーバの場合
pdtrnqingコマンドを実行すると,新規トランザクションのキューイングが開始されて,新規トランザクションは待ち状態になります(実行中のトランザクションは処理されます)。新規トランザクションがキューイングされるため,計画系切り替えを行うときに,トランザクションエラーが発生しません。
- HiRDB/パラレルサーバの場合
pdtrnqingコマンドを実行すると,コマンド実行対象ユニット(FESユニット)の新規トランザクションのキューイングが開始されて,新規トランザクションは待ち状態になります(実行中のトランザクションは処理されます)。FESユニットの新規トランザクションがキューイングされるため,FESユニットの計画系切り替えを行うときに,トランザクションエラーが発生しません。
- 注意
- 計画系切り替えを実行する場合は,クライアント環境定義のPDAUTORECONNECTオペランドにYESを指定して,自動再接続機能を適用しておく必要があります。自動再接続機能を適用しないと,計画系切り替え中にHiRDBに接続しようとしたUAPがCONNECTエラーになることがあります。
実行者
形式
pdtrnqing 〔-d | -t 待ち合わせ時間〕
|
オプション
トランザクションキューイングを解除する場合にこのオプションを指定します。
- -t 待ち合わせ時間 〜<符号なし整数>((1〜3600))《180》(単位:秒)
pdtrnqingコマンドは,実行中のトランザクション(HiRDB/パラレルサーバの場合はFESユニットで実行中のトランザクション)が終了するまで処理を待ち合わせます。この待ち合わせ時間を秒単位で指定します。実行中のトランザクションがここで指定した時間を経過しても終了しない場合,トランザクションキューイングを中止してpdtrnqingコマンドをエラー終了します。
規則
- HiRDB/パラレルサーバの場合,トランザクションキューイングを適用(開始又は解除)するユニットでpdtrnqingコマンドを実行します。pdtrnqingコマンドを実行したユニットだけにトランザクションキューイングが適用されます。
- 停止中のユニットでpdtrnqingコマンドを実行できません。
- 次に示す場合,pdtrnqingコマンドは正常終了します。この場合,トランザクションキューイングの適用状態は変わりません。
- トランザクションキューイングの適用中に,pdtrnqingコマンドを実行して再度トランザクションキューイングを開始しようとした場合
- トランザクションキューイング中でないときに,pdtrnqing -dコマンドを実行してトランザクションキューイングを解除しようとした場合
注意事項
- ほかのコマンドの実行中に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インタフェースを使用したトランザクション
- コマンド又はユティリティのトランザクション
リターンコード
pdtrnqingコマンドのリターンコードを次に示します。
- 0:正常終了
- 4:警告
- 8:エラー終了
- 12:エラー終了
- リターンコードの8及び12は,トランザクションキューイングの開始又は解除が実行できなかったときに返されるリターンコードです。このとき,syslogfile又は標準エラー出力にメッセージが出力されます。
- 実行環境の不正や,操作誤りなどの場合はリターンコード8で終了し,それ以外の場合はリターンコード12で終了します。
(2)影響分散スタンバイレス型系切り替え機能使用時にpdtrnqingコマンドを実行する場合
影響分散スタンバイレス型系切り替え機能使用時にpdtrnqingコマンドを実行する場合について説明します。
機能
影響分散スタンバイレス型系切り替え機能のバックエンドサーバでトランザクションキューイングを開始又は解除します。
このコマンドの目的
pdtrnqingコマンドは,影響分散スタンバイレス型系切り替え機能の計画系切り替えを行う前に,新規トランザクションをキューイングしておくために使います。
pdtrnqingコマンドを実行すると,コマンド実行対象のバックエンドサーバに対する新規トランザクションのキューイングが開始されて,新規トランザクションは待ち状態になります(実行中のトランザクションは処理されます)。
前提条件
pdtrnqingコマンドを実行する場合は,pd_ha_transanctionオペランドにqueuingを指定しておく必要があります。
pd_ha_transactionオペランドにerror(省略値)を指定している場合は,トランザクションキューイングの開始又は解除をしないでpdtrnqingコマンドを終了します。この場合のリターンコードは4になります。
実行者
形式
pdtrnqing 〔-d 〔-f〕〕〔-t 待ち合わせ時間〕-s バックエンドサーバ名
|
オプション
トランザクションキューイングを解除する場合にこのオプションを指定します。
-dオプションを指定して,トランザクションキューイングを解除する場合にこのオプションを指定できます。次に示す場合にこのオプションを指定してください。
- pdtrnqingコマンドの実行対象となるバックエンドサーバがあるユニットが停止中の場合にこのオプションを指定してください。ユニットが停止中の場合でもpdtrnqingコマンドが実行できます。
- 停止中のユニット(例えば,システムマネジャがあるユニットなど)からpdtrnqingコマンドを実行できます。
- -t 待ち合わせ時間 〜<符号なし整数>((1〜3600))(単位:秒)
- トランザクションキューイングを開始するときに指定する場合
pdtrnqingコマンドは,実行中のトランザクション(pdtrnqingコマンドの実行対象となるバックエンドサーバで実行中のトランザクション)が終了するまで処理を待ち合わせます。この待ち合わせ時間を秒単位で指定します。実行中のトランザクションがここで指定した時間を経過しても終了しない場合,トランザクションキューイングを中止してpdtrnqingコマンドをエラー終了します。
- トランザクションキューイングを解除するときに指定する場合
pdtrnqingコマンドの実行対象となるバックエンドサーバが待機中又は開始中の場合,バックエンドサーバの起動完了を待ち合わせる時間を秒単位で指定します。バックエンドサーバの起動処理が,ここで指定した時間を経過しても完了しない場合,トランザクションキューイングを解除しないでpdtrnqingコマンドをエラー終了します。
なお,ここで指定する待ち合わせ時間は,pd_ha_trn_queuing_wait_timeオペランドの指定値(デフォルト180秒)以下にしてください。pd_ha_trn_queuing_wait_timeオペランドの指定値以上の時間を指定しても無効になり,pd_ha_trn_queuing_wait_timeオペランドの値が有効になります。
- -s バックエンドサーバ名 〜<識別子>((1〜8))
pdtrnqingコマンドの実行対象となるバックエンドサーバを指定します。影響分散スタンバイレス型系切り替え機能を適用しているバックエンドサーバを指定できます。
規則
- pdtrnqingコマンドは,-sオプションに指定するバックエンドサーバがあるユニットで実行できます。
- 次に示す場合,pdtrnqingコマンドは正常終了します。この場合,トランザクションキューイングの適用状態は変わりません。
- トランザクションキューイングの適用中に,pdtrnqingコマンドを実行して再度トランザクションキューイングを開始しようとした場合
- トランザクションキューイング中でないときに,pdtrnqing -dコマンドを実行してトランザクションキューイングを解除しようとした場合
- pdtrnqingコマンドを実行する場合,コマンドの実行対象となるユニットが起動している必要があります。また,コマンドの実行対象となるバックエンドサーバが次に示す状態である必要があります。
pdtrnqingコマンドに
指定するオプション |
pdtrnqingコマンドの実行対象となるバックエンドサーバの状態 |
停止 |
待機中 |
開始中 |
稼働中 |
停止中 |
なし |
× |
× |
× |
○※1 |
× |
-d |
× |
△※2※3 |
○※2 |
○ |
× |
-d -f |
○ |
○ |
○ |
○ |
○ |
- (凡例)
- ○:pdtrnqingコマンドが実行できます。
- ×:pdtrnqingコマンドが実行できません。
- △:バックエンドサーバの開始処理の完了を待ち合わせます。pd_ha_trn_queuing_wait_timeオペランドで指定した時間内に,バックエンドサーバの開始処理が完了した場合,トランザクションキューイングが解除されます。開始処理が完了しない場合は,pdtrnqingコマンドがエラーになります。
- 注※1
- -sオプションに指定したバックエンドサーバで処理中のトランザクションが終了するまで,pdtrnqingコマンドを待ち合わせます。pd_ha_trn_queuing_wait_timeオペランドで指定した待ち合わせ時間を超えてもトランザクションが終了しない場合は,pdtrnqingコマンドがエラーになります。
- 注※2
- -sオプションに指定したバックエンドサーバが待機中又は開始中の場合,バックエンドサーバの開始処理の完了を待ち合わせます。pd_ha_trn_queuing_wait_timeオペランドで指定した待ち合わせ時間を経過してもバックエンドサーバの開始処理が完了しない場合は,pdtrnqingコマンドがエラーになります。
- 注※3
- クラスタソフトウェアのコマンドでバックエンドサーバを実行系に切り替えた直後から,HiRDBが管理するサーバステータスを「開始中」にするまでの間にpdtrnqing -dコマンド実行するとエラーになります。このため,バックエンドサーバが待機中のときに,バックエンドサーバの開始処理を待ち合わせます。
注意事項
- トランザクションキューイングの解除時,バックエンドサーバが待機中の場合はバックエンドサーバの開始処理の完了を待ち合わせます。そのため,対象とするバックエンドサーバを間違った場合(待機中のままのバックエンドサーバを対象とした場合),pdtrnqingコマンドはすぐにエラーにはなりません。この場合,-tオプションで指定した待ち合わせ時間が経過したらpdtrnqingコマンドがエラー終了します。
- 次に示す操作をした場合,トランザクションキューイングは自動的に解除されます。
- トランザクションキューイングを行っているバックエンドサーバを再開始した場合(バックエンドサーバが系切り替えした場合も含む)
- システム,ユニット,サーバを終了した場合(pdstopコマンド)※1※2
- 修正版HiRDBの入れ替え(pdprgrenewコマンド)
- システム構成変更コマンドの実行(pdchgconfコマンド)
- 注※1
- トランザクションキューイング中のユニット,又はユニット内のサーバを終了した場合にトランザクションキューイングが解除されます。
- 注※2
- pdstopコマンドがエラー終了した場合でも,トランザクションキューイングが解除されることがあります。
リターンコード
pdtrnqingコマンドのリターンコードを次に示します。
- 0:正常終了
- 4:警告終了
- pd_ha_transactionオペランドにqueuingが指定されていないため,トランザクションキューイングができないときに返されるリターンコードです。
- 8:エラー終了
- 12:エラー終了
- リターンコードの8及び12は,トランザクションキューイングの開始又は解除が実行できなかったときに返されるリターンコードです。このとき,syslogfile又は標準エラー出力にメッセージが出力されます。
- 実行環境の不正や,操作誤りなどの場合はリターンコード8で終了し,それ以外の場合はリターンコード12で終了します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.