6.5.3 システムログファイルの運用
抽出側HiRDBは,HiRDB Datareplicator連携を開始するとデータ連動の状態を管理するために,システムログファイルの待機の状態に,抽出側Datareplicatorでのシステムログファイルの抽出が完了しているかどうかの状態を新たに追加します。この状態を抽出状態といいます。
ここでは,次の項目について説明します。
-
システムログファイルの状態
-
抽出状態
-
抽出状態の設定
-
抽出状態の解消
-
抽出未完了状態のためにスワップ先にできない場合の指定
-
抽出未完了状態のために抽出側HiRDBのユニットが強制停止した場合の処置
-
システムログファイルの操作
- 〈この項の構成〉
(1) システムログファイルの状態
HiRDB Datareplicator連携機能を使っているときのシステムログファイルの待機状態を次の表に示します。システムログファイルの状態は,HiRDBのpdloglsコマンド及びpdlsコマンドで確認できます。
状態の種類 |
備 考 |
||
---|---|---|---|
待機 |
スワップ先にできる状態 |
上書きできる状態 |
すべての状態を満たしている場合にだけ,スワップ先にできます。 |
アンロード済み状態 |
|||
抽出完了状態※ |
|||
スワップ先にできない状態 |
上書きできない状態 |
どれか一つの状態であれば,スワップ先にできません。 |
|
アンロード待ち状態 |
|||
抽出未完了状態※ |
- 注※
-
HiRDB Datareplicator連携を実行している場合にだけ追加される状態
- 注意事項
-
HiRDB Datareplicator連携を開始した後,長時間にわたり抽出側Datareplicatorの抽出処理を停止しておくと,HiRDBのシステムログファイルが満杯となり,HiRDBが停止することがあります。そのため,HiRDBの稼働中は,抽出側Datareplicatorの抽出処理を停止しない運用をお勧めします。
(2) 抽出状態
システムログファイルの抽出状態には,次の二つの状態があります。
-
抽出側Datareplicatorでの抽出が完了している状態です。システムログファイル中のシステムログを抽出側Datareplicatorがすべて読み込むと,そのシステムログファイルは抽出完了状態になります。この状態で,上書きできる状態かつアンロード済み状態のシステムログファイルはスワップ先にできます。
-
抽出側Datareplicatorでの抽出が完了していない状態です。抽出側Datareplicatorでまだシステムログを抽出していないシステムログファイルと抽出側Datareplicatorでシステムログを抽出中のシステムログファイルが,抽出未完了状態になります。この状態の場合は,上書きできる状態かつアンロード済み状態のシステムログファイルであってもスワップ先にはなりません。抽出未完了状態のシステムログファイルを強制的にスワップ先にできる状態にしたり,初期化したりした場合,抽出側DBの更新情報の一部が反映側DBに反映できないため,抽出側DBと反映側DBとの間に不整合が発生します。この場合,反映側DBの再作成が必要になります。
pdloglsコマンドは,システムログ内に未抽出の更新情報がない場合でも,HiRDBの内部制御のために現用のファイルグループを抽出未完了状態として出力する場合があります。このため,システムログ内に未抽出の更新情報があるかどうかを確認する場合はpdls -d rpl -jコマンドを実行して,その出力結果で判定します。
出力結果のSystem Log Extract Pointとして出力されている「Run ID」,「Gen No」,「Block No」の値のすべてがSystem Log Sync infoとして出力されている同項目の値より大きくなっていれば,システムログ内の更新情報はすべて抽出されていることを示します。
(3) 抽出状態の設定
システムログファイルの抽出状態は,次の指定によってHiRDB Datareplicator連携が開始されたときに設定されます。
-
抽出側HiRDBのシステム共通定義でのpd_rpl_init_start=Y
-
pdrplstartコマンド
抽出側HiRDBは,シンクポイントダンプ取得時に各システムログファイルの抽出状態を確認します。シンクポイントダンプ取得時に,抽出側Datareplicatorでの抽出が完了しているシステムログファイルの抽出状態が,抽出未完了状態から抽出完了状態に変更されます。このため,抽出側Datareplicatorでの抽出が完了しているシステムログファイルであっても,シンクポイントダンプ取得時までは抽出完了状態にはなりません。
(4) 抽出状態の解消
システムログファイルの抽出状態は,システムログファイルがスワップ先として選択可能な状態になった時点で解消されます。スワップ先になるまでは抽出状態は解消されないため,pdloglsコマンドで表示した場合,まだスワップしていないシステムログファイルでは抽出状態が表示されます。また,この状態のシステムログファイルは,抽出側Datareplicatorの抽出対象になります。
ただし,次の場合は強制的に抽出状態が解消されます。
-
pdrplstopコマンドの実行
-
システム共通定義のpd_log_rpl_no_standby_file_opr=continue指定時に,システムログファイルが抽出未完了状態のためにスワップ先にできない場合
-
抽出側HiRDBのシステム共通定義のpd_rpl_init_startオペランドの変更(YからNへの変更,又はpd_rpl_init_startオペランドの省略)
-
-iオプション指定のhdestartコマンドの実行
-
抽出未完了状態のシステムログファイルの初期化と抽出未完了状態のシステムログファイルの抽出状態の強制変更
-
データ連動用連絡ファイルの初期化
強制的に抽出状態が解消された場合,次にHiRDB Datareplicator連携を開始したときに,前回の抽出側Datareplicatorでのデータ連動の続きからデータ連動を継続できないため,抽出側DBと反映側DBとの間に不整合が発生する場合があります。この場合,反映側DBの再作成が必要です。
(5) 抽出未完了状態のためにスワップ先にできない場合の指定
すべてのシステムログファイルがスワップ先にできない場合に,抽出未完了状態のためにスワップ先にできないシステムログファイルがあったときのデータ連動に対する処置について指定できます。
この指定は,抽出側HiRDBのシステム共通定義で指定します。指定方法を次に示します。
pd_log_rpl_no_standby_file_opr= stop|continue
システム共通定義でのpd_log_rpl_no_standby_file_oprの指定方法については,「5.6 抽出側HiRDBの定義」を参照してください。
システムログファイルがスワップ先にできない場合の運用手順については,「6.5.6 抽出側HiRDBの運用手順」を参照してください。
-
データ連動を継続して続行するために抽出側HiRDBの該当ユニットを強制停止する(stop指定時又はpd_log_rpl_no_standby_file_opr省略)
データ連動を継続して続行したい場合は,システム共通定義でHiRDBのユニットの強制停止を指定します。この場合,抽出未完了状態のためにスワップ先にできるファイルがなくなった時点で,抽出側HiRDBは該当ユニットを強制停止します。
強制停止した抽出側HiRDBのユニットを再開始する場合は,抽出側Datareplicatorで抽出中のログファイルが別のファイルに移った(抽出完了のファイルが一つ以上できた)ことを確認してから,抽出側HiRDBのユニットを再開始してください。
システムログファイルの抽出状態は,pdloglsコマンドでそれぞれのシステムログファイルの状態を確認してから,pdls -d rpl -jコマンドで抽出がどこまで進んでいるかを確認することで判定できます。
抽出側HiRDBのユニットの強制停止時に,データ連動を中止して抽出側HiRDBの処理だけを続行したい場合については,「(6)抽出未完了状態のために抽出側HiRDBのユニットが強制停止した場合の処置」を参照してください。
-
データ連動を中止して抽出側HiRDBでの処理だけを続行する(continue指定)
データ連動を中止して抽出側HiRDBでの処理だけを続行したい場合は,システム共通定義でHiRDB Datareplicator連携の中止を指定します。この場合,抽出未完了状態のためにスワップ先にできるファイルがなくなった時点で,抽出側HiRDBはすべてのバックエンドサーバでのHiRDB Datareplicator連携を中止し,抽出側HiRDBだけで運用を続行します。抽出側HiRDBは,スワップ先にできるファイルがなくなった時点ですべてのシステムログファイルの抽出状態を解消します。これによって,抽出未完了状態のためにスワップ先にできなかったシステムログファイルがスワップ先にできる状態になるため,抽出側HiRDBの処理が続行できます。
抽出状態を解消した場合は,抽出側DBと反映側DBとの間に不整合が発生するので,HiRDB Datareplicator連携を再開始する前に反映側DBの再作成が必要です。
(6) 抽出未完了状態のために抽出側HiRDBのユニットが強制停止した場合の処置
システム共通定義の指定によって,システムログファイルが抽出未完了状態のために抽出側HiRDBのユニットが強制停止した場合に,抽出側HiRDBの処理を続行するためには次のどちらかを実行してください。
-
データ連動を続行する場合
抽出側Datareplicatorが停止している場合は,抽出側Datareplicatorを起動してください。抽出プロセス,送信プロセスの両方とも起動している場合は,送信先の反映側Datareplicatorの状態を確認し,停止している場合は起動してください。
-
データ連動を中止して,抽出側HiRDBの処理だけを続行する場合
抽出側Datareplicator又は反映側Datareplicatorの障害などによって,システムログファイルが抽出完了状態にならない場合に抽出側HiRDBの処理を続行するためには,HiRDB Datareplicator連携を中止して抽出側HiRDBを再開始します。この場合は,次のどちらかを実行してから,抽出側HiRDBを再開始してください。
-
システム共通定義のpd_log_rpl_no_standby_file_oprオペランドの指定をcontinueに変更します。
-
pdlogchgコマンドですべてのシステムログファイルのステータスを強制的に抽出完了状態にします。
HiRDB Datareplicator連携を中止した場合は,抽出側DBと反映側DBとの間に不整合が発生するので,HiRDB Datareplicator連携を再開始する前に反映側DBの再作成が必要です。
抽出側HiRDBのユニット強制停止時にデータ連動を中止する場合の運用手順については,「6.5.6 抽出側HiRDBの運用手順」を参照してください。
-
(7) システムログファイルの操作
システムログファイルの操作について,データ連動する場合に特に注意が必要な次の項目について説明します。
-
システムログファイルの抽出状態の確認(pdloglsコマンド)
-
システムログファイルの抽出状態の強制変更(pdlogchgコマンド)
-
抽出未完了状態のシステムログファイルの削除(pdlogrmコマンド)
このほかの操作については,マニュアル「HiRDB システム運用ガイド」を参照してください。
-
システムログファイルの抽出状態の確認(pdloglsコマンド)
システムログファイルの抽出状態は,HiRDBのpdloglsコマンドで確認できます。HiRDB Datareplicator連携機能を使っている場合は,ファイルグループ,要素ファイル,及び物理ファイルの状態のアンロード状態の表示に,次の表示が追加されます。
- a:アンロード待ち状態,かつ抽出未完了状態
-
アンロード待ち状態とは,アンロードする必要があるログを含んでいる状態です。
抽出未完了状態とは,HiRDB Datareplicatorによるデータ連動情報の抽出が完了していない状態です。
u:アンロード待ち状態,かつ抽出完了状態
e:アンロード済み状態,かつ抽出未完了状態
−:アンロード済み状態,かつ抽出完了状態
システムログファイルの抽出状態は,抽出側HiRDBの該当するユニットが停止している場合には変更されません。この場合に抽出側Datareplicatorでの抽出が完了しても,pdloglsコマンドで表示すると,該当するシステムログファイルの状態は抽出未完了状態で表示されます。
このため,該当するユニットが停止している場合にシステムログファイルの抽出状態を確認するときは,HiRDBのpdlsコマンドで,システムログファイルでの抽出側Datareplicatorの抽出状況を確認してください。
-
システムログファイルの抽出状態の強制変更(pdlogchgコマンド)
抽出側Datareplicator又は反映側Datareplicatorの障害などによって,システムログファイルが抽出完了状態にならない場合に抽出側HiRDBの処理を続行するために,HiRDBのpdlogchgコマンドを使ってシステムログファイルの抽出状態を強制的に変更します。
pdlogchgコマンドで -Rオプションを指定すると,システムログファイルの抽出状態を抽出未完了状態から抽出完了状態に変更できます。
pdlogchgコマンドで抽出状態を強制的に変更した場合,抽出側DBと反映側DBとの間に不整合が発生します。この場合はHiRDB Datareplicator連携を中止して,反映側DBを再作成してから,HiRDB Datareplicator連携を再開始してください。
pdlogchgコマンド実行時の運用手順については,「6.5.6 抽出側HiRDBの運用手順」を参照してください。pdlogchgコマンドの -Rオプションの指定方法については,「7. コマンドの文法」を参照してください。
-
抽出未完了状態のシステムログファイルの削除(pdlogrmコマンド)
抽出未完了状態のシステムログファイルを強制的に削除する場合は,HiRDBのpdlogrmコマンドに -uオプションを指定します。-uオプションの指定がない場合は,抽出未完了状態のシステムログファイルは削除できません。抽出未完了状態のシステムログファイルを削除した場合,抽出側DBと反映側DBとの間に不整合が発生するので,次にHiRDB Datareplicator連携を開始する前に反映側DBの再作成が必要です。