スケーラブルデータベースサーバ HiRDB ファーストステップガイド(UNIX(R)用)

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

4.7.2 演習(RDエリアを拡張する

ユーザ用RDエリア(RDDATA10)を拡張します。

<この項の構成>
(1) pddblsコマンドでRDDATA10の残容量を調べます
(2) pddblsコマンドの実行結果が表示されます
(3) pdmodコマンドの制御文を格納するディレクトリを作成します
(4) pdmodコマンドの制御文ファイルを作成します
(5) pdmodコマンドでRDエリアを拡張します
(6) pdmodコマンドの実行結果が表示されます
(7) pddblsコマンドで,RDDATA10が拡張されたことを確認します
(8) pddblsコマンドの実行結果が表示されます

(1) pddblsコマンドでRDDATA10の残容量を調べます

拡張する前にRDエリアの残容量を調べます。次のコマンドを実行してください。

 
$ pddbls -r RDDATA10 -a
 

(2) pddblsコマンドの実行結果が表示されます

 
STATE OF RDAREA
    RDAREA        ID     STATUS       TYPE               OPNMODE
    RDDATA10      7      OPEN         USER               INITIAL 
     SEGMENT 75 / 77
 

〔説明〕
未使用セグメント数および全セグメント数がSEGMENTに表示されます。未使用セグメント数がRDエリアの残容量となります。
この例では,未使用セグメント数が75で,全セグメント数が77となっています。未使用セグメント数が残り少なくなったら,RDエリアを拡張します。現在,未使用セグメント数が多いので拡張する必要はありませんが,演習のためRDエリアを拡張します。
なお,pdinitコマンドのcreate rdarea文でオペランドextensionを指定することで,未使用セグメント数が少なくなったとき自動的にRDエリアを拡張するように設定することができます。pdinitコマンドの詳細については,マニュアル「HiRDB Version 7 コマンドリファレンス(UNIX(R)用)」を参照してください。

(3) pdmodコマンドの制御文を格納するディレクトリを作成します

pdmodコマンドの制御文ファイルを格納するディレクトリをmkdirコマンドで作成します。$HOME/HiRDB/pdmodディレクトリを作成してください。

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

pdmodコマンドのexpand rdarea文でRDエリアを拡張します。この演習では,次に示す内容の制御文ファイル$HOME/hirdb/pdmod/expand.txtを作成してください。

 
expand rdarea RDDATA10   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1
 file name "/HiRDB/rdfiles/rddata10a"   ・・・・・・・・・・・・・・・・・・・2
 initial 20 segments;   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3

〔説明〕
  1. 拡張するRDエリア(RDDATA10)の名称を指定します。
  2. 追加するHiRDBファイルの名称を指定します。
    /HiRDB/rdfilesディレクトリ下にrddata10aファイルが作成されます。
  3. 追加するHiRDBファイルのセグメント数を指定します。

(5) pdmodコマンドでRDエリアを拡張します

作成した制御文ファイルを入力にして,データベース構成変更ユティリティ(pdmod)を実行します。次のコマンドを実行してください。

 
$ pdmod -a $HOME/HiRDB/pdmod/expand.txt 
 

〔説明〕
-a:(4)で作成した制御文ファイルの名称を指定します。

(6) pdmodコマンドの実行結果が表示されます

 
KFPX14250-I Processing of expand rdarea statement ended
 return code=0, RDAREA name="RDDATA10"
KFPX24213-I DB modification for ended
 return code=0 at 18:40:49 on 2004/02/03
KFPX24200-I DB modification ended, return code=0
 

〔説明〕
リターンコードに0が返されたので,pdmodコマンドが正常終了しました。

●pdmodコマンドが失敗すると(RDエリアの拡張に失敗すると)
pdmodコマンドが失敗すると,リターンコードに0が返ってきません。この場合は,syslogに出力されたメッセージを参照して対策してください。次の例は,指定したRDAREA名に誤りがある場合に出力されたメッセージです。
 
KFPX24217-E HiRDB file "create" failed, return code=-1535,
 HiRDB file name="/HiRDB/rdfiles/rddata11a"
KFPX14250-I Processing of expand rdarea statement ended return code=8,
 RDAREA name="RDDATA10"
KFPX24213-I DB modification for ended return code=12
 at 15:47:56 on 2004/01/29
KFPX24200-I DB modification ended, return code=12
 

(7) pddblsコマンドで,RDDATA10が拡張されたことを確認します

結果を確認するため,RDDATA10の状態を表示します。次のコマンドを実行してください。

 
$ pddbls -r RDDATA10 -a
 

(8) pddblsコマンドの実行結果が表示されます

 
STATE OF RDAREA
    RDAREA     ID       STATUS        TYPE               OPNMODE
    RDDATA10   7        OPEN          USER               INITIAL 
     SEGMENT 95 / 97
 

〔説明〕
全セグメント数が77から97に変わっています。それに伴い未使用セグメント数も75から95に変わっています。したがって,RDDATA10が拡張されています。