Hitachi

インナレプリカ機能 HiRDB Staticizer Option Version 10


4.3.2 更新可能なオンライン再編成の運用

更新可能なオンライン再編成の運用方法について説明します。

〈この項の構成〉

(1) 更新可能なオンライン再編成の運用手順

更新可能なオンライン再編成の運用手順を次の図に示します。

図4‒9 更新可能なオンライン再編成の運用手順

[図データ]

  1. レプリカRDエリアおよびペアボリュームの状態確認

    更新可能なオンライン再編成を実施する前に,次のことを確認します。

    • レプリカRDエリアがコマンド閉塞かつクローズ状態になっている(pddblsコマンドで確認)。

    • ペアボリュームがペア状態になっている。

    上記の状態になっていない場合,次の操作をします。

    • レプリカRDエリアをpdhold -cコマンドでコマンド閉塞かつクローズ状態にする。

    • ペアボリュームを再同期して,ペア状態にする。

    ペアボリュームのペア状態の確認および再同期の方法については,使用するミラーリング機能のマニュアルを参照してください。日立ディスクアレイシステムを使用している場合は,「日立ディスクアレイシステム使用時の注意事項および操作手順」を参照してください。

  2. 更新可能なオンライン再編成用のデータベースの静止化(pdorbegin)

    データベースの静止化コマンド(pdorbegin)を実行します。実行すると,RDエリア指定の場合は指定したオリジナルRDエリアと指定された世代のレプリカRDエリアが,表指定の場合は指定した表の関連RDエリアのオリジナルRDエリアと指定された世代のレプリカRDエリアが,オンライン再編成閉塞状態になります。

    このコマンドを実行してから,項番4(カレントデータベース切り替え(pdorchg))が終了するまで,静止化したRDエリアへのアクセスは待ち状態になります。

    注意

    更新可能なオンライン再編成を実施したい同一サーバ内のRDエリアは1回のコマンドで指定してください。同一サーバ内にオンライン再編成機能閉塞状態のRDエリアがある場合は,更新可能なオンライン再編成の運用終了後に再度実行してください。

  3. ペアボリュームの解除

    更新可能なオンライン再編成の準備」で定義した二重化したボリュームを解除します。解除方法については,使用するミラーリング機能のマニュアルを参照してください。日立ディスクアレイシステムを使用している場合は,まず「日立ディスクアレイシステム使用時の注意事項および操作手順」を参照してください。

  4. カレントデータベース切り替え(pdorchg)

    カレントデータベース切り替えコマンド(pdorchg)を実行します。実行すると,RDエリア指定の場合はオンライン業務に使用されるRDエリアがサーバ単位に,表指定の場合はオンライン業務に使用されるRDエリアがすべてのサーバで一括して切り替わります。

    このコマンドが終了すると,項番1(データベースの静止化(pdorbegin))で待ち状態になっていたアクセスが可能になります。

  5. (任意)再編成前バックアップの取得

    データベース再編成ユティリティ(pdrorg)での障害に備えて,データベース複写ユティリティ(pdcopy)で静止化したRDエリアのバックアップを取得します。

    この操作は任意ですが,行わない場合は,更新可能なオンライン再編成の運用に入る前にバックアップを取得しておくことをお勧めします。

    バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

    また,pdcopyコマンドの実行前に,pdlogswap -d sys -wコマンドを実行してシステムログファイルをスワップしてください。

  6. データベースの再編成(pdrorg)

    オンライン再編成閉塞状態のオリジナルRDエリアまたはオリジナルRDエリアに定義されている表に対して,データベース再編成ユティリティ(pdrorg)を実行します。項番4((任意)再編成前バックアップの取得)でバックアップを取得していない場合は,ログ取得モードで実行してください。

  7. (任意)再編成後バックアップの取得

    データベース再編成ユティリティ(pdrorg)実行後の障害に備えて,データベース複写ユティリティ(pdcopy)で再編成後のRDエリアのバックアップを取得します。この操作は任意ですが,項番5(データベースの再編成)でログを取得しないで再編成を実行した場合は必須です。

    バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

    また,pdcopyコマンドの実行前に,pdlogswap -d sys -wコマンドを実行してシステムログファイルをスワップしてください。

  8. 追い付き反映処理(pdorend)

    追い付き反映コマンド(pdorend)を実行します。これにより,次の処理が行われます。

    • データベースの再編成中にカレントデータベース(現在はレプリカDB)に行われた更新処理のマスタDBへの反映

    • マスタDBとレプリカDBの切り替え(カレントデータベースをマスタDBに変更)

    カレントデータベースの変更処理では,カレントがマスタDBになるまでは,RDエリアへのアクセスは待ち状態になります。

  9. ファイルアクセス停止(pdpfresh)

    ペアボリュームの再同期を行う前に,ファイルアクセス停止コマンド(pdpfresh)で動作中のすべてのプロセスを停止します。この時点でレプリカRDエリアへアクセスしていた可能性のあるプロセスが存在しない場合は実行する必要はありません。RDエリアの属性がSCHEDULEの場合も実行する必要はありません。

    プロセス停止の確認には,次のコマンドを実行してください。

    pdls -d prc -c
    [引数の説明]

    -d:コマンド種別を指定します。

    -c:アクセスしているプロセスを表示するオプションです。

  10. ペアボリューム再同期

    項番2(ペアボリュームの解除)で解除したペアボリュームを再同期します。これで,更新可能なオンライン再編成の実施前の状態に戻ります。日立ディスクアレイシステムを使用している場合は,「日立ディスクアレイシステム使用時の注意事項および操作手順」を参照してください。

更新可能なオンライン再編成を複数回行う場合の運用手順を次の図に示します。

図4‒10 更新可能なオンライン再編成を複数回行う場合の運用手順

[図データ]

まず,1回目のデータベースの再編成を,運用フェーズの項番1〜8の流れで実施します。

次のデータベースの再編成の対象RDエリアに,一つ前に行ったデータベースの再編成と同じものが含まれている場合,運用フェーズの項番9を行ってから運用フェーズの項番1〜8を実施します。一つ前に行ったデータベースの再編成と同じものが含まれていない場合は,そのまま運用フェーズの項番1〜8を実施します。つまり,あるRDエリアに対して連続して再編成を実施する場合は,運用フェーズ項番9(ペアボリュームの再同期)してから,やり直します。

必要な回数これらを繰り返し,すべての再編成が終了したら通常運用に戻ります。

データベースの再編成をRDエリア単位またはサーバ単位で実施すると,ペアボリュームの再同期をしないで次のデータベースの再編成ができて効率が良くなります。

(2) 更新可能なオンライン再編成の運用例

更新可能なオンライン再編成の運用例を示します。ここで更新可能なオンライン再編成を行うRDエリアの構成は「更新可能なオンライン再編成の準備例」で行ったものと同じとします。

  1. 更新可能なオンライン再編成用のデータベースの静止化(pdorbegin)

    関連RDエリア(RDTBL,RDIDX,RDLOB)を静止化します。

    RDエリア指定の場合

    準備フェーズで確認した関連RDエリアを指定して,データベースの静止化をします。

    pdorbegin -r "RDTBL","RDIDX","RDLOB" -q 1 -w 60
    [引数の説明]

    -r:静止化するマスタのRDエリアを指定します。

    -q:世代番号を指定します。

    -w:排他待ち時間を指定します。

    表指定の場合

    処理対象の表を指定して,データベースの静止化をします。

    pdorbegin -t T1 -q 1 -w 60 -c ref
    [引数の説明]

    -t:静止化する表識別子を指定します。

    -q:世代番号を指定します。

    -w:排他待ち時間を指定します。

    -c:参照制約関係にある表の関連RDエリアを,実行対象へ含める場合に指定します。

    関連RDエリアの確認コマンド(pdrdrefls)では,関連RDエリア名をコンマ(,)区切りで出力できるため,その出力をデータベースの静止化コマンドの入力に利用することができます。関連RDエリアが多い場合などに利用すると便利です。このとき,制約種別指定オプション(-cオプション)を指定し,制約関係にある表の関連RDエリアも入力情報へ含めることをお勧めします。例えば,RDTBLの関連RDエリアをコンマ区切りで標準出力する場合は次のように実行します。

    pdrdrefls -e org -r RDTBL -s bes1 -l -d ',' -c ref
  2. ペアボリュームの解除

    ペアボリュームを解除します。操作方法については,使用するミラーリング機能のマニュアルを参照してください。日立ディスクアレイシステムを使用している場合は,まず「日立ディスクアレイシステム使用時の注意事項および操作手順」を参照してください。

  3. カレントデータベース切り替え(pdorchg)

    カレントのRDエリアを切り替えます。

    pdorchg -s bes1
    [引数の説明]

    -s:再編成を行うバックエンドサーバ名を指定します。

  4. (任意)再編成前バックアップの取得

    再編成前のオリジナルRDエリアのバックアップを取得します。

    pdcopy -m /hirdb/rdarea/rdmast/rdmast00 -M r -r RDTBL,RDIDX,RDLOB -q 0 -b /bkdir/bkup01 -p /bkdir/list01
    [引数の説明]

    -m:マスタディレクトリ用RDエリアの先頭HiRDBファイル名を指定します。

    -M:バックアップ取得モードを指定します。

    -r:オリジナルRDエリアを指定します。

    -q:バックアップ対象のRDエリアの世代番号を指定します。

    -b:バックアップファイル名を指定します。

    -p:pdcopyコマンドの処理結果リストの出力先を指定します。

    バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

    また,pdcopyコマンドの実行前に,pdlogswap -d sys -wコマンドを実行してシステムログファイルをスワップしてください。

  5. データベースの再編成

    オリジナルRDエリアを再編成します。

    pdrorg -k rorg -t T1 -r RDTBL -q 0 -l p -n 128 /user/rorg/rorg01
    [引数の説明]

    -k:再編成処理種別を指定します。

    -t:再編成する表の名称を指定します。

    -r:再編成する表の格納RDエリアのオリジナルRDエリア名を指定します。

    -q:再編成するRDエリアの世代番号を指定します。

    -l:ログ取得方式を-p(更新前ログモード)で指定します。

    -n:一括入出力ページ数を指定します。

    /user/rorg/rorg01:pdrorgコマンドの制御文ファイル名を指定します。

  6. (任意)再編成後バックアップの取得

    再編成前のオリジナルRDエリアのバックアップを取得します。

    pdcopy -m /hirdb/rdarea/rdmast/rdmast00 -M r -r RDTBL,RDIDX,RDLOB -q 0 -b /bkdir/bkup02 -p /bkdir/list02
    [引数の説明]

    -m:マスタディレクトリ用RDエリアの先頭HiRDBファイル名を指定します。

    -M:バックアップ取得モードを指定します。

    -r:オリジナルRDエリアを指定します。

    -q:バックアップ対象のRDエリアの世代番号を指定します。

    -b:バックアップファイル名を指定します。

    -p:pdcopyコマンドの処理結果リストの出力先を指定します。

    バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

    また,pdcopyコマンドの実行前に,pdlogswap -d sys -wコマンドを実行してシステムログファイルをスワップしてください。

  7. データベース追い付き反映(pdorend)

    データベース追い付き反映コマンドを実行します。実行すると,次の処理が行われます

    • 再編成中にレプリカDBに行われた更新処理がマスタDBに反映される。

    • カレントDBがマスタDBに切り替えられる。

    • マスタDBとレプリカDBが同期する。

    • データベースのオンライン再編成閉塞状態が解除される。

      pdorend -s bes1
    [引数の説明]

    -s:再編成を行ったバックエンドサーバを指定します。

    システム共通定義のpd_check_pendingオペランドの値にUSEを指定した場合,更新可能なオンライン再編成の追い付き反映処理後に,オリジナル世代の参照表が検査保留状態になります。

  8. ファイルアクセス停止(pdpfresh)

    カレントデータベースを切り替えたあとのレプリカRDエリアにアクセスしていた可能性のあるHiRDB常駐プロセスをすべて停止します。

    pdpfresh -s bes1
    [引数の説明]

    -s:再編成を行ったバックエンドサーバ を指定します。

    レプリカRDエリアにアクセスしているプロセスがないことを確認します。

    pdls -d prc -c
    [引数の説明]

    -d:コマンド種別を指定します。

    -c:アクセスしているプロセスを表示するオプションです。

    実行結果のSTATUSの部分に"L"が表示された場合,アクセスしているプロセスがないことを意味します。"C"の場合,まだすべてのアクセスが停止していないことを意味します。"L"が表示されるまで待つ必要があります。

    HOSTNAME:h9000vr4(183629)
    STATUS   PID  UID  GID  SVID  TIME   PROGRAM  C-PID       C GRP 
    L        28   439  200  bes1  183545 pdhold   3324(172.18.32.25) PC
  9. ペアボリューム再同期

    分離していたペアボリュームを再同期します。操作方法については,使用するミラーリング機能のマニュアルを参照してください。日立ディスクアレイシステムを使用している場合は,まず「日立ディスクアレイシステム使用時の注意事項および操作手順」を参照してください。