Hitachi

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


15.4.9 例題8(表に関連する全RDエリアを再初期化してデータの回復をUAPで行う場合)

ユーザ用RDエリア(RDAREA1,RDAREA2)とユーザLOB用RDエリア(RDAREA3,RDAREA4,RDAREA5)を再初期化します。このとき,RDエリアの容量を大きくします。

〈手順〉
  1. pdfstatfsコマンドでHiRDBファイルシステム領域に空きがあるか確認します。

  2. HiRDBファイルシステム領域を準備します。

  3. pdholdコマンドでRDAERA1〜RDAREA5を閉塞及びクローズ状態にします。

  4. pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。

  5. pdcopyコマンドでバックアップを取得します。

  6. pdmodコマンドの制御文ファイルを作成します。

  7. pdmodコマンドでRDAERA2〜RDAREA5を再初期化します。

  8. pdrelsコマンドでRDAREA2〜RDAREA5を閉塞解除してオープン状態にします。

  9. pdmodコマンドの制御文ファイルを作成します。

  10. pdmodコマンドでRDAREA1を再初期化します。

  11. pdrelsコマンドでRDAREA1を閉塞解除してオープン状態にします。

  12. UAPを実行します。

  13. pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。

  14. pdcopyコマンドでバックアップを取得します。

手順の数字はこの後で説明している( )レベルに対応しています。例えば,3の操作は(3)で説明しています。

〈この項の構成〉

(1) pdfstatfsコマンドでHiRDBファイルシステム領域に空きがあるか確認します

pdfstatfs /rdarea/area01
pdfstatfs /rdarea/area02
pdfstatfs /rdarea/area03
pdfstatfs /rdarea/area04
pdfstatfs /rdarea/area05

再初期化対象RDエリアのすべてのHiRDBファイルシステム領域を確認してください。

(2) HiRDBファイルシステム領域を準備します

(1)の結果,HiRDBファイルシステム領域に空きがないとします。再初期化するときにRDエリアの容量を大きくするため,次に示すどれかの方法でHiRDBファイルシステム領域を準備してください。

  1. 既存のHiRDBファイルシステム領域より大きいHiRDBファイルシステム領域を新規に割り当てる

  2. 既存のHiRDBファイルシステム領域に加えて新規のHiRDBファイルシステム領域を割り当てる

  3. 既存のHiRDBファイルシステム領域を大きくする

ここでは,1の方法でHiRDBファイルシステム領域を準備します。

pdfmkfs -n 100 -l 10 -k DB -i /rdarea/area11
pdfmkfs -n 100 -l 10 -k DB -i /rdarea/area12
pdfmkfs -n 100 -l 10 -k DB -i /rdarea/area13
pdfmkfs -n 100 -l 10 -k DB -i /rdarea/area14
pdfmkfs -n 100 -l 10 -k DB -i /rdarea/area15

(3) pdholdコマンドでRDAERA1〜RDAREA5を閉塞及びクローズ状態にします

pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5 -c

(4) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします

pdlogswap -d sys -w

(5) pdcopyコマンドでバックアップを取得します

pdcopy -m /rdarea/mast/mast01 -M r -a -b /pdcopy/backup01 -p /pdcopy/list01
〔説明〕

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

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

-a:このオプションを指定すると,全RDエリアのバックアップを取得します。RDエリアを再初期化すると,「同時にバックアップを取得する必要があるRDエリア」で説明しているRDエリアが更新されるため,6.3で説明しているRDエリアのバックアップを取得する必要があります。ここでは全RDエリアのバックアップを取得します。

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

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

バックアップの取得については,「バックアップの取得方法」を参照してください。

(6) pdmodコマンドの制御文ファイルを作成します

pdmodコマンドのinitialize rdarea文を記述した制御文ファイル(/pdmod/init01)を作成します。制御文ファイルの内容を次に示します。

initialize rdarea RDAREA2                               1
   with reconstruction                                  2
   file name "/rdarea/area12/files01"                   3
      initial 3000 segments;                            4
initialize rdarea RDAREA3
   with reconstruction
   file name "/rdarea/area13/files01"
      initial 3000 segments;
initialize rdarea RDAREA4
   with reconstruction
   file name "/rdarea/area14/files01"
       initial 3000 segments;
initialize rdarea RDAREA5
   with reconstruction
   file name "/rdarea/area15/files01"
       initial 3000 segments;
〔説明〕

再初期化するRDエリアには新規追加したHiRDBファイルシステム領域を割り当てます。

  1. 再初期化するRDエリアを指定します。

  2. 再初期化前とファイル構成が変わるため,with reconstructionを指定します。

  3. RDエリアを構成するHiRDBファイルを指定します。

  4. HiRDBファイルのセグメント数を指定します。

(7) pdmodコマンドでRDAERA2〜RDAREA5を再初期化します

pdmod -a /pdmod/init01
〔説明〕

-a:(6)で作成したpdmodコマンドの制御文ファイル名を指定します。

参考

RDAREA2,RDAREA4,RDAREA5の再初期化時,インデクスが未完状態に,LOB属性の抽象データ型がアクセス禁止状態になりますが,(10)のRDAREA1の再初期化時にそれぞれ解除されるため問題ありません。

(8) pdrelsコマンドでRDAREA2〜RDAREA5を閉塞解除してオープン状態にします

pdrels -r RDAREA2,RDAREA3,RDAREA4,RDAREA5 -o

(9) pdmodコマンドの制御文ファイルを作成します

pdmodコマンドのinitialize rdarea文を記述した制御文ファイル(/pdmod/init02)を作成します。制御文ファイルの内容を次に示します。

initialize rdarea RDAREA1                               1
   with reconstruction                                  2
   file name "/rdarea/area11/file01"                    3
      initial 3000 segments;                            4
〔説明〕

RDAREA1には新規追加したHiRDBファイルシステム領域を割り当てます。

  1. 再初期化するRDエリア(RDAREA1)を指定します。

  2. 再初期化前とファイル構成が変わるため,with reconstructionを指定します。

  3. RDエリアを構成するHiRDBファイルを指定します。

  4. HiRDBファイルのセグメント数を指定します。

(10) pdmodコマンドでRDAREA1を再初期化します

pdmod -a /pdmod/init02
〔説明〕

-a:(9)で作成したpdmodコマンドの制御文ファイル名を指定します。

(11) pdrelsコマンドでRDAREA1を閉塞解除してオープン状態にします

pdrels -r RDAREA1 -o

(12) UAPを実行します

TABLE1にデータを挿入するUAPを実行してデータを回復します。

(13) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします

pdlogswap -d sys -w

(14) pdcopyコマンドでバックアップを取得します

pdcopy -m /rdarea/mast/mast01 -M r -a -b /pdcopy/backup02 -p /pdcopy/list02

RDエリアを再初期化すると,「同時にバックアップを取得する必要があるRDエリア」で説明しているRDエリアが更新されるため,6.3で説明しているRDエリアのバックアップを取得する必要があります。ここでは全RDエリアのバックアップを取得します。バックアップの取得については,「バックアップの取得方法」を参照してください。

コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。