スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

15.4.10 例題9(RDエリアのディスク配置を変更する場合)

ユーザ用RDエリア(RDAREA1,RDAREA2)とユーザLOB用RDエリア(RDAREA3,RDAREA4,RDAREA5)を再初期化します。このとき,RDエリアのディスク配置を/rdareaから/rdarea2に変更します。

〈手順〉
  1. HiRDBファイルシステム領域を準備します。
  2. pdholdコマンドでRDAERA1〜RDAREA5を閉塞します。
  3. pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。
  4. pdcopyコマンドでバックアップを取得します。
  5. pdrorgコマンドの制御文ファイルを作成します。
  6. pdrorgコマンドでTABLE1のデータをアンロードします。
  7. pdcloseコマンドでRDAERA1〜RDAREA5をクローズします。
  8. pdmodコマンドの制御文ファイルを作成します。
  9. pdmodコマンドでRDAERA1〜RDAREA5を再初期化します。
  10. pdopenコマンドでRDAERA1〜RDAREA5をオープンします。
  11. pdrorgコマンドの制御文ファイルを作成します。
  12. pdrorgコマンドでTABLE1のデータをリロードします。
  13. pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。
  14. pdcopyコマンドでバックアップを取得します。
  15. pdrelsコマンドでRDAERA1〜RDAREA5の閉塞を解除します。
手順の数字はこの後で説明している( )レベルに対応しています。例えば,3の操作は(3)で説明しています。
<この項の構成>
(1) HiRDBファイルシステム領域を準備します
(2) pdholdコマンドでRDAERA1〜RDAREA5を閉塞します
(3) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします
(4) pdcopyコマンドでバックアップを取得します
(5) pdrorgコマンドの制御文ファイルを作成します
(6) pdrorgコマンドでTABLE1のデータをアンロードします
(7) pdcloseコマンドでRDAERA1〜RDAREA5をクローズします
(8) pdmodコマンドの制御文ファイルを作成します
(9) pdmodコマンドでRDAERA1〜RDAREA5を再初期化します
(10) pdopenコマンドでRDAERA1〜RDAREA5をオープンします
(11) pdrorgコマンドの制御文ファイルを作成します
(12) pdrorgコマンドでTABLE1のデータをリロードします
(13) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします
(14) pdcopyコマンドでバックアップを取得します
(15) pdrelsコマンドでRDAERA1〜RDAREA5の閉塞を解除します

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

新しくRDエリアを配置するディスク(/rdarea2)にHiRDBファイルシステム領域を準備してください。

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

-n及び-lオプションには,変更前のディスク(/rdarea)に作成していたHiRDBファイルシステム領域と同じか,又は大きい値を指定してください。

(2) pdholdコマンドでRDAERA1〜RDAREA5を閉塞します

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

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

 
pdlogswap -d sys -w
 

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

 
pdcopy -m /rdarea/mast/mast01 -M r -a -b /pdcopy/backup01 -p /pdcopy/list01
 

〔説明〕
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-a:このオプションを指定すると,全RDエリアのバックアップを取得します。RDエリアを再初期化すると,「6.3 同時にバックアップを取得する必要があるRDエリア」で説明しているRDエリアが更新されるため,6.3で説明しているRDエリアのバックアップを取得する必要があります。ここでは全RDエリアのバックアップを取得します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの処理結果リストの出力先を指定します。
バックアップの取得については,「6. バックアップの取得方法」を参照してください。

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

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

 
unload /unld/unldfile
 

〔説明〕
アンロードファイルの名称を指定します。

(6) pdrorgコマンドでTABLE1のデータをアンロードします

 
pdrorg -k unld -j -t TABLE1 /pdrorg/unld01
 

〔説明〕
-k:アンロードをするためunldを指定します。
-j:次に示す表をアンロードする場合に指定します。
  ・LOB列がある表
  ・LOB属性の抽象データ型を定義した表
-t:アンロードする表の名称を指定します。
/pdrorg/unld01:(5)で作成したpdrorgコマンドの制御文ファイル名を指定します。

(7) pdcloseコマンドでRDAERA1〜RDAREA5をクローズします

 
pdclose -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5
 

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

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

 
initialize rdarea RDAREA1                               1
   with reconstruction                                  2
   file name "/rdarea2/area11/file01"                   3
      initial 3000 segments;                            4
initialize rdarea RDAREA2
   with reconstruction
   file name "/rdarea2/area12/file01"
      initial 3000 segments;
initialize rdarea RDAREA3
   with reconstruction
   file name "/rdarea2/area13/file01"
      initial 3000 segments;
initialize rdarea RDAREA4
   with reconstruction
   file name "/rdarea2/area14/file01"
       initial 3000 segments;
initialize rdarea RDAREA5
   with reconstruction
   file name "/rdarea2/area15/file01"
       initial 3000 segments;
 

〔説明〕
再初期化するRDエリアには新規追加したHiRDBファイルシステム領域を割り当てます。
  1. 再初期化するRDエリアを指定します。
  2. 再初期化前とファイル構成が変わるため,with reconstructionを指定します。
  3. RDエリアを構成するHiRDBファイルを指定します。新しくRDエリアを配置するディスク(/rdarea2)を指定します。
  4. HiRDBファイルのセグメント数を指定します。変更前のディスク(/rdarea)に作成していたHiRDBファイルと同じか,又は大きい値を指定してください。

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

 
pdmod -a /pdmod/init01
 

〔説明〕
-a:(8)で作成したpdmodコマンドの制御文ファイル名を指定します。
参考
RDAREA1の再初期化時,KFPX14255-W,KFPX24231-W,及びKFPX24242-WのRDエリア状態不正メッセージが出力されます。これは,RDAREA2〜RDAREA5を同時に再初期化しているためで問題はありません。また,RDAREA2,RDAREA4,RDAREA5の再初期化時,インデクスが未完状態に,LOB属性の抽象データ型がアクセス禁止状態になりますが,(12)のデータのリロード時にそれぞれ解除されるため問題ありません。

(10) pdopenコマンドでRDAERA1〜RDAREA5をオープンします

 
pdopen -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5
 

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

pdrorgコマンドのunload文index文,及びsort文を記述した制御文ファイル(/pdrorg/reld01)を作成します。制御文ファイルの内容を次に示します。

 
unload /unld/unldfile                      1
index INDEX1 /unld/index_inf               2
sort /tmp/sotwork/,8192                    3
 

〔説明〕
  1. アンロードファイルの名称を指定します。
  2. インデクス識別子(INDEX1),及びインデクス情報ファイル名(/unld/index_inf)を指定します。
  3. ソート用ワークディレクトリの名称を指定します。

(12) pdrorgコマンドでTABLE1のデータをリロードします

 
pdrorg -k reld -j -t TABLE1 /pdrorg/reld01
 

〔説明〕
-k:リロードをするためにreldを指定します。
-j:次に示す表をリロードする場合に指定します。
  ・LOB列がある表
  ・LOB属性の抽象データ型を定義した表
-t:リロードする表の名称を指定します。
/pdrorg/reld01:(11)で作成したpdrorgコマンドの制御文ファイル名を指定します。

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

(15) pdrelsコマンドでRDAERA1〜RDAREA5の閉塞を解除します

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

 

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