2.20.1 pdcloseの形式と規則
(1) 機能
指定したRDエリアをクローズします。pdholdコマンドによって閉塞したRDエリア,又は障害閉塞状態のRDエリアを指定します。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
pdclose -r {RDエリア名〔,RDエリア名〕…|ALL}〔-W 実行監視時間〕
(4) オプション
(a) -r {RDエリア名〔,RDエリア名〕…|ALL}
- RDエリア名 〜<識別子>((1〜30))
-
クローズするRDエリア名を指定します。
- ALL
-
マスタディレクトリ用RDエリアを除くすべてのRDエリアをクローズします。
<規則>
-
RDエリアを指定する場合の規則については,「運用コマンド,ユティリティでのRDエリアの指定」を参照してください。
-
参照可能バックアップ閉塞(更新WAITモード),更新可能バックアップ閉塞のRDエリア,及びマスタディレクトリ用RDエリアはクローズできません。
-
ユーザ用RDエリア又はユーザLOB用RDエリアを指定する場合は,データディクショナリ用RDエリアが次のどちらかの状態でなければなりません。
-
オープン状態,かつ閉塞解除状態
-
オープン状態,かつpdholdコマンドによる閉塞状態
-
-
データディクショナリ用RDエリアとユーザ用RDエリア,又はユーザLOB用RDエリアを同時に指定する場合は,データディクショナリ用RDエリア名を最後に指定してください。
(b) -W 実行監視時間 〜<符号なし整数>((0〜3600))
pdcloseコマンドの実行時間を監視する場合に,その監視時間を分単位で指定します。このオプションに指定する値の目安や動作については,マニュアル「HiRDB システム定義」のシステム共通定義pd_cmd_exec_timeオペランドの説明を参照してください。
なお,このオプションに0を指定した場合は,監視を行いません。
また,このオプションを省略した場合は,システム共通定義のpd_cmd_exec_timeオペランドの指定値に従います。
(5) 規則
-
pdcloseコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pdcloseコマンドは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
-
pdcloseコマンドは,RDエリアに対してモードEXで排他制御をします。そのため,指定したRDエリアにほかのトランザクションがアクセスしている場合は,そのトランザクションの終了までpdcloseコマンドは待ち状態となります。
-
共用RDエリアに対してpdcloseコマンドを実行した場合,全バックエンドサーバに排他を掛けます。このため,該当するRDエリアへのアクセスを複数同時に実行している場合,グローバルデッドロックが発生し,タイムアウトする可能性があります。グローバルデッドロックが発生した場合,再度pdcloseコマンドを実行してください。
-
DB非同期状態又はRDエリア障害状態の場合にpdcloseコマンドを実行すると,インメモリデータバッファ上のデータをディスクに書き込み,インメモリデータバッファとRDエリアの同期を取ります(DB同期状態になります)。
(6) 注意事項
-
pdcloseコマンドの結果は,pddblsコマンドで確認できます。
-
pdcloseコマンドのリターンコードと基本的な対処方法を次に示します。
0以外の場合,一部のRDエリアがクローズしていることがあります。その状態では業務を継続できないおそれがあるため,pdcloseコマンドに指定したRDエリアをpdrelsコマンド(-oオプション指定)でオープンしてください。
0:正常終了
- 4:警告終了
-
一部のRDエリアの処理がエラー終了しました。
- 8:異常終了
-
一部のRDエリアの処理がエラー終了していることがあります。
- 12:異常終了
-
エラーメッセージを表示できない事象が発生しました。
一部のRDエリアの処理がエラー終了していることがあります。シングルサーバ又はディクショナリサーバがあるホストのイベントログ中のエラーメッセージを参照して,エラーの要因を取り除いた後,再度コマンドを実行してください。イベントログ中にエラーメッセージが出力されていない場合は保守員に連絡してください。