Hitachi

ノンストップデータベース HiRDB Version 10 システム運用ガイド(UNIX(R)用)


9.12.3 方法2で時刻を遅らせる場合

方法2で時刻を遅らせる場合,次の手順に従ってください。

〈手順〉

[図データ]

[図データ]

処理ボックスの左にある数字はこの後で説明している( )レベルに対応しています。例えば,3の操作は(3)で説明しています。

〈この項の構成〉

(1) HiRDBを正常終了します

pdstopコマンドでHiRDBを正常終了します。

(2) HiRDB Datareplicatorのデータ抽出機能を使用している場合の対処(その1)

次の対処をしてください。なお,(b)と(c)の順序はどちらが先でもかまいません。HiRDB Datareplicatorのコマンドについては,マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

(a) HiRDB Datareplicatorがすべてのシステムログの抽出を完了してから,抽出したシステムログのすべてが反映側のデータベースに反映されるまで待ちます

すべてのシステムログの抽出が完了したかどうかの確認方法,及びすべてのシステムログが反映されたかどうかの確認方法については,マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」の「抽出側システムの構成変更」を参照してください。

(b) HiRDB Datareplicatorのデータ抽出機能を停止します

hdestopコマンドで,HiRDB Datareplicatorのデータ抽出機能を停止します。

(c) 反映側のデータ連携機能を停止します

反映側のデータ連携機能を停止します。反映側のデータ連携機能がHiRDB Datareplicatorの場合は,hdsstopコマンドで停止します。

(3) pdcatコマンドでメッセージログファイルを表示している場合の対処

(a) pdcatコマンドを実行し,出力結果を退避します

pdcatコマンドを実行し,出力結果をリダイレクトしてファイルに取得します。これによって,時刻を遅らせる前にメッセージログファイル($PDDIR/spool/pdlog1,pdlog2)に出力したメッセージを退避します。HiRDB/パラレルサーバで,pd_mlg_msg_log_unitオペランドにlocalを指定している場合,すべてのユニットに対してpdcatコマンドを実行してください。

なお,時刻を遅らせる前のメッセージを参照する必要がない場合は,この手順は省略してかまいません。

(b) メッセージログファイルを削除します

メッセージログファイル($PDDIR/spool/pdlog1,pdlog2)をOSのコマンドで削除します。HiRDB/パラレルサーバで,pd_mlg_msg_log_unitオペランドにlocalを指定している場合,すべてのユニットでメッセージログファイルを削除してください。

(4) 統計情報を取得している場合の対処

統計ログファイル($PDDIR/spool/pdstj1,pdstj2)をOSのコマンドでほかのディレクトリにコピーし,コピー元の統計ログファイルをOSのコマンドで削除します。これによって,時刻を遅らせる前の統計ログファイルを退避します。HiRDB/パラレルサーバの場合,すべてのユニットで統計ログファイルを退避してください。

なお,時刻を遅らせる以前の統計情報が不要の場合は,この手順は省略してかまいません。

(5) 時刻を遅らせる前の対処

(a) システムログファイルをアンロードします

すべてのアンロード待ち状態のシステムログファイルをpdlogunldコマンドでアンロードします。ここでアンロードしたシステムログファイルは,障害が発生してデータベースを回復する場合に,時刻を遅らせる前の状態にするときに使用します。

(b) アンロードログファイルを退避します

時刻を遅らせる前後のアンロードログファイルを異なるディレクトリで管理するため,(a)でアンロードしたアンロードログファイルをOSのコマンドでほかのディレクトリにコピーし,コピー元のすべてのアンロードログファイルをOSのコマンドで削除します。

注意事項

時刻を遅らせる前後のアンロードログファイルが同じディレクトリに混在していると,次に示す現象が発生するおそれがあります。

  • アンロードログファイル格納ディレクトリを指定してデータベースを回復する場合,データベースが破壊される

  • 自動ログアンロード機能を使用している場合,作成されるアンロードログファイルのパス名に時刻情報が含まれるため,上書きされる

(6) システム時刻を遅らせます

OSの設定で時刻を遅らせます。HiRDB/パラレルサーバの場合,各サーバマシンの時刻が異なると,メッセージの突き合わせなどが煩雑になるため,各サーバマシンの時刻を同じに設定します。

(7) 時刻を遅らせた後の対処

(a) HiRDBシステムの全RDエリアのバックアップを取得します

HiRDBシステムの全RDエリアのバックアップを取得します。ここで取得したバックアップファイルは,障害が発生してデータベースを回復する場合に,時刻を遅らせた後の状態にするときに使用します。バックアップの取得手順を次に示します。

データベース複写ユティリティ(pdcopy)でバックアップを取得する場合
  1. pdstart -rコマンドでHiRDBを開始します。

  2. pdcopyコマンドで全RDエリアのバックアップを取得します。差分バックアップ機能を使用している場合,-gオプションの差分バックアップグループ名の最後に(S)を付けてください。

  3. pdstopコマンドでHiRDBを正常終了します。

データベース複写ユティリティ(pdcopy)以外でバックアップを取得する場合

pdcopyコマンド以外(ほかの製品の機能)で,HiRDBシステムの全RDエリアのバックアップを取得します。

(b) システムログファイルを初期化します

時刻を遅らせた後で,時刻を遅らせる前のシステムログファイルを使用すると,HiRDBが誤動作するおそれがあるため,システムログファイルを初期化します。手順を次に示します。

  1. pdlogrm -d sysコマンドでシステムログファイルを削除します。

  2. pdloginit -d sysコマンドでシステムログファイルを再作成します。

(c) シンクポイントダンプファイルを初期化します

次に示す理由から,HiRDBが誤動作するおそれがあるため,シンクポイントダンプファイルを初期化します。

  • 時刻を遅らせた後で,時刻を遅らせる前のシンクポイントダンプファイルを使用すると,前回のシンクポイントダンプ取得時刻が未来の時刻になる

  • シンクポイントダンプに対応したシステムログファイルが(b)で初期化されている

シンクポイントダンプファイルを初期化する手順を次に示します。

  1. pdlogrm -d spdコマンドでシンクポイントダンプファイルを削除します。

  2. pdloginit -d spdコマンドでシンクポイントダンプファイルを再作成します。

(8) HiRDB Datareplicatorのデータ抽出機能を使用している場合の対処(その2)

次の対処をしてください。なお,(a)と(b)の順序はどちらが先でもかまいません。

(a) HiRDB Datareplicatorのデータ抽出機能を初期化します

時刻を遅らせた後もHiRDB Datareplicatorのデータ抽出機能を正しく動作させるために,hdestart -iコマンドでHiRDB Datareplicatorのデータ抽出機能を初期化します。

(b) 反映側のデータ連携機能を初期化します

(a)でHiRDB Datareplicatorのデータ抽出機能を初期化したため,反映側のデータ連携機能も初期化します。反映側のデータ連携機能がHiRDB Datareplicatorの場合は,hdsstart -i -qコマンドで初期化します。

(9) HiRDBを正常開始します

pdstartコマンドでHiRDBを正常開始します。

(10) HiRDB Datareplicatorのデータ抽出機能を使用している場合の対処(その3)

次の対処をしてください。なお,(b)と(c)の順序はどちらが先でもかまいません。

(a) HiRDB Datareplicatorの抽出定義プリプロセスファイルを再作成します

(8)でHiRDB Datareplicatorのデータ抽出機能を初期化したため,hdeprepコマンドで抽出定義プリプロセスファイルを再作成します。

(b) HiRDB Datareplicatorのデータ抽出機能を起動します

hdestartコマンドで,(2)(b)で停止したHiRDB Datareplicatorのデータ抽出機能を起動します。

(c) 反映側のデータ連携機能を起動します

(2)(c)で停止した反映側データ連携機能を起動します。反映側のデータ連携機能がHiRDB Datareplicatorの場合は,hdsstartコマンドで起動します。

(11) アンロードレスシステムログ運用をしている場合の対処

ログポイントを取得するために,-zオプション指定でデータベース複写ユティリティ(pdcopy)を実行して,全RDエリアのバックアップを取得します。なお,HiRDB/パラレルサーバで全RDエリアのバックアップを取得するには,サーバごとに-zオプション指定のpdcopyコマンドを実行する必要があります。