2.47.1 pdlogchgの形式と規則
(1) 機能
指定したファイルグループのステータスを,強制的にアンロード済み状態,又はHiRDB Datareplicatorの抽出完了状態にします。現用ファイルグループのステータス変更はできません。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
(a) HiRDB/シングルサーバの場合
pdlogchg {-d sys 〔-s サーバ名〕 -g ファイルグループ名 〔-R〕 |-z ログポイント情報ファイル名}
(b) HiRDB/パラレルサーバの場合
pdlogchg {-d sys -s サーバ名 〔-u ユニット識別子〕 -g ファイルグループ名 〔-R〕 |-z ログポイント情報ファイル名 〔-x ホスト名〕}
(4) オプション
(a) -d sys
システムログファイルのステータスを変更します。
(b) -s サーバ名 〜<識別子>((1〜8))
ファイルグループに対応するサーバの名称を指定します。
(c) -u ユニット識別子 〜<識別子>((4文字))
影響分散スタンバイレス型系切り替え機能を適用している場合,ステータスを変更するシステムログファイルを作成したディスクがあるホストの,ユニット識別子を指定します。
該当するサーバ,及びシステムマネジャが稼働中の場合,-uオプションの指定は無視されます。
次のどれかに該当する場合に-uオプションを指定すると,エラーとなります。
-
指定するユニットが,-sオプションで指定したサーバの移動先となるHAグループに属していない。
-
-sオプションで指定したサーバが,HAグループ内のサーバではない。
-
影響分散スタンバイレス型系切り替え機能を適用していない。
-uオプションの指定要否を次に示します。
サーバの状態 |
ファイル作成先のディスクがあるホスト |
-uオプションの指定 |
---|---|---|
稼働中 |
実行系バックエンドサーバがあるホスト |
省略できます。 |
停止中 |
現用系バックエンドサーバがあるホスト |
|
上記以外のホスト |
必ず指定します。 |
(d) -g ファイルグループ名 〜<識別子>((1〜8))
ステータスを変更するファイルグループの名称を指定します。
(e) -z ログポイント情報ファイル名 〜<パス名>
ログポイント情報ファイルに記述されているログポイントより古いすべてのファイルグループのステータスを変更します。
このログポイント情報ファイルには,次に示すファイルのどちらかを指定してください。
-
pdcopyコマンドで-zオプションを指定して作成したファイル
-
pdrstrコマンドで-zオプションを指定して作成したファイル
(f) -x ホスト名 〜<識別子>((1〜32))
ステータスを変更するログファイルグループが属するサーバが稼働するホスト名を指定します。
省略した場合,コマンドを入力したホストが仮定されます。
(g) -R
HiRDB Datareplicator連携を実行している場合に,抽出未完了状態のファイルグループを,強制的に抽出完了状態に変更するときに指定します。このオプションを指定すると,抽出状態だけを抽出未完了状態から抽出完了状態に変更します。
(5) 規則
-
pdlogchgコマンドの実行条件を次に示します。
-
システム定義でpd_log_unload_check=Nを指定している場合,HiRDBが稼働中で,かつ操作対象のファイルグループがオープン状態のときは,-Rオプションの指定がないと実行できません。
-
上記以外の場合,HiRDBの稼働に関係なく実行できます(ただし,HiRDB開始処理中及びHiRDB終了処理中は除きます)。
-
-
pdlogchgコマンドは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
(6) 注意事項
-
pdlogchgコマンドのリターンコードを次に示します。
0:正常終了
4:異常終了
8:異常終了(オプション指定不正,rsh失敗など)
12:異常終了(IPアドレス引き継ぎなし構成の待機系でリトライしたとき)
-
pdlogchgコマンドは,HiRDB開始処理中に実行しないでください。HiRDB開始処理中とは,KFPS01800-Iメッセージの出力からKFPS05210-Iメッセージの出力までの間のことをいいます。実行した場合,システムログファイルの状態がHiRDBに反映されないことがあります。このような場合には,HiRDB開始処理完了後にpdlogclsコマンドで該当するファイルグループをクローズし,その後pdlogopenコマンドでオープンすると,システムログファイルの状態が反映されます。
-
pdlogchgコマンドは,HiRDBシステム定義ファイルの内容を参照して,処理をします。そのため,システムログを取得した稼働中のHiRDBのHiRDBシステム定義ファイルと,pdlogchgコマンド実行時のHiRDBシステム定義ファイルの内容が一致していない場合は,ステータスを変更できないことがあります。
-
pdlogchgコマンドがエラーとなった場合でも,正しく終了することがあります。正しく終了しているかどうかについては,終了コードが0であるか,又はpdloglsコマンドでステータスが変更になっているかを確認することで分かります。
-
pdlogchgコマンドの結果は,次の方法で確認できます。
-
HiRDB稼働中の場合
pdloglsコマンド
-
HiRDB停止中の場合
コマンド実行時のリターンコード,エラーメッセージの有無,又はpdloglsコマンド。
-
-
HiRDBが稼働していないときにpdlogchgコマンドを実行し,コマンドが終了する前にHiRDBを開始するとコマンド実行エラーとなります。その場合,HiRDBの稼働状態を確認してから,再度pdlogchgコマンドを実行してください。
-
pdstop -sコマンドで個別に終了したサーバでは,そのサーバでpd_log_unload_check=Nを指定している場合,-Rオプションの指定がないとpdlogchgコマンドは実行できません。
-
-Rオプションは,HiRDB Datareplicator連携で,システム共通定義のpd_log_rpl_no_standby_file_opr=stopを指定している場合に次に示す三つの条件が満たされるような障害が発生して,データ連動をいったん停止するときに,強制的にファイルグループのステータスを変更するために実行します。
-
すべてのシステムログファイルが抽出未完了状態になったため,HiRDBが強制終了
-
HiRDBの運用上の理由で定義の変更不可
-
HiRDB Datareplicatorで障害が発生して,HiRDB Datareplicatorが稼働不可
このような場合には,-Rオプションを指定したpdlogchgコマンドをすべてのシステムログファイルに対して実行し,抽出未完了状態を抽出完了状態に変更してください。このとき,抽出側データべースの更新情報の一部を消失してしまうため,反映側DBに反映できなくなり,抽出側と反映側のデータべースが不整合となる可能性があります。そのため,データ連動の再開始をする前に反映側DBを再作成する必要があります。データべースの再作成の手順については,マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator Version 8」を参照してください。
-