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

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

15.4.3 例題2(インデクスが定義されている場合)

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

〈手順〉
  1. pdfstatfsコマンドでHiRDBファイルシステム領域に空きがあるか確認します。
  2. HiRDBファイルシステム領域を準備します。
  3. pdholdコマンドでRDAREA2を閉塞かつクローズ状態にします。
  4. pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。
  5. pdcopyコマンドでバックアップを取得します。
  6. pdmodコマンドの制御文ファイルを作成します。
  7. pdmodコマンドでRDAREA1を再初期化(容量拡張)します。
  8. pdopenコマンドでRDAREA2をオープンします。
  9. pdloadコマンドの制御文ファイルを作成します。
  10. pdloadコマンドでインデクスを一括作成します(0件データロードでインデクスを一括作成します)。
  11. pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。
  12. pdcopyコマンドでバックアップを取得します。
  13. pdrelsコマンドでRDAREA2の閉塞を解除します。
手順の数字はこの後で説明している( )レベルに対応しています。例えば,3の操作は(3)で説明しています。
<この項の構成>
(1) pdfstatfsコマンドでHiRDBファイルシステム領域に空きがあるか確認します
(2) HiRDBファイルシステム領域を準備します
(3) pdholdコマンドでRDAREA2を閉塞かつクローズ状態にします
(4) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします
(5) pdcopyコマンドでバックアップを取得します
(6) pdmodコマンドの制御文ファイルを作成します
(7) pdmodコマンドでRDAREA2を再初期化(容量拡張)します
(8) pdopenコマンドでRDAREA2をオープンします
(9) pdloadコマンドの制御文ファイルを作成します
(10) pdloadコマンドでインデクスを一括作成します(0件データロードでインデクスを一括作成します)
(11) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします
(12) pdcopyコマンドでバックアップを取得します
(13) pdrelsコマンドでRDAREA2の閉塞を解除します

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

 
pdfstatfs /rdarea/area01
 
 

(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/area02
 

(3) pdholdコマンドでRDAREA2を閉塞かつクローズ状態にします

 
pdhold -r RDAREA2 -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エリアを再初期化すると,「6.3 同時にバックアップを取得する必要があるRDエリア」で説明しているRDエリアが更新されるため,6.3で説明しているRDエリアのバックアップを取得する必要があります。ここでは全RDエリアのバックアップを取得します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの処理結果リストの出力先を指定します。
バックアップの取得については,「6. バックアップの取得方法」を参照してください。

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

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

 
initialize rdarea RDAREA2                               1
   with reconstruction                                  2
   file name "/rdarea/area02/file01"                    3
      initial 3000 segments;                            4
 

〔説明〕
RDAREA2には新規追加したHiRDBファイルシステム領域を割り当てます。
  1. 再初期化するRDエリア(RDAREA2)を指定します。
  2. 再初期化前とファイル構成が変わるため,with reconstructionを指定します。
  3. RDエリアを構成するHiRDBファイルを指定します。
  4. HiRDBファイルのセグメント数を指定します。

(7) pdmodコマンドでRDAREA2を再初期化(容量拡張)します

 
pdmod -a /pdmod/init01
 

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

(8) pdopenコマンドでRDAREA2をオープンします

 
pdopen -r RDAREA2
 

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

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

 
source /load/loadfile error=/tmp/err          1
index INDEX1 /load/index_inf                  2
sort /tmp/sortwork/,8192                      3
 

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

(10) pdloadコマンドでインデクスを一括作成します(0件データロードでインデクスを一括作成します)

 
pdload TABLE1 /pdload/load01
 

〔説明〕
0件データロードでインデクスを一括作成します。-iオプションを省略してインデクス一括作成モードでインデクス(INDEX1)を一括作成します。
TABLE1:データロードをする表の名称を指定します。
/pdrorg/load01:(9)で作成したpdloadコマンドの制御文ファイル名を指定します。

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

 
pdlogswap -d sys -w
 

(12) 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. バックアップの取得方法」を参照してください。

(13) pdrelsコマンドでRDAREA2の閉塞を解除します

 
pdrels -r RDAREA2
 

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

なお,プラグインインデクスを格納したRDエリアも同様の手順で再初期化して,容量を増やせます。