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

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

13.11.3 例題(リバランス表の横分割数を増やす場合

リバランス表(TABLE01)の横分割数を二つから三つにします。インデクス(INDX01)も同様に分割します。このように,インデクス格納RDエリアと表格納RDエリアの数が一致しないとリバランスユティリティを実行できません。

[図データ]

<この項の構成>
(1) pdfmkfsコマンドでRDエリア用のHiRDBファイルシステム領域を作成します
(2) pdmodコマンドでRDエリアを追加します
(3) ALTER TABLEで表の横分割数を増やします
(4) pdrbalコマンドで表のリバランスを行います
(5) pdgetcstコマンドで表の最適化情報を取得します

(1) pdfmkfsコマンドでRDエリア用のHiRDBファイルシステム領域を作成します

 
pdfmkfs -n 50 -l 10 -k DB -i /rdarea/area03
pdfmkfs -n 50 -l 10 -k DB -i /rdarea/area13
 

〔説明〕
-n:HiRDBファイルシステム領域の領域長をメガバイト単位で指定します。データベース状態解析ユティリティ(pddbstコマンド)で,現状のRDエリアの状態を解析し,移動対象となるデータ量から追加するRDエリアの容量見積もりをしてください。
-l:HiRDBファイルシステム領域内に作成するHiRDBファイル数の上限値を指定します。
-k:HiRDBファイルシステム領域の用途を指定します。RDエリア用のHiRDBファイルシステム領域を作成するため,DBを指定します。
-i:HiRDBファイルシステム領域の全領域を初期化する場合に指定します。-iオプションを指定すると,領域全体を確保します。-iオプションを省略すると,HiRDBファイルシステム領域の管理情報だけを作成します。
/rdarea/area03:作成するHiRDBファイルシステム領域(表格納RDエリア用)の名称を指定します。
/rdarea/area13:作成するHiRDBファイルシステム領域(インデクス格納RDエリア用)の名称を指定します。

(2) pdmodコマンドでRDエリアを追加します

 
pdmod -a /pdmod/create01
 

〔説明〕
-a:pdmodコマンドの制御文ファイル名を指定します。制御文ファイルの例を次に示します。各オペランドの詳細については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
 
create rdarea RDAREA03
   globalbuffer gbuf03
   for user used by PUBLIC
   server name bes1 
   page 4096 characters
   storage control segment 10 pages
   file name "/rdarea/area03/file01"
      initial 1000 segments;
create rdarea RDAREA13
   globalbuffer gbuf13
   for user used by PUBLIC
   server name bes1 
   page 4096 characters
   storage control segment 10 pages
   file name "/rdarea/area13/file01"
      initial 1000 segments;
 

(3) ALTER TABLEで表の横分割数を増やします

 
ALTER TABLE TABLE01
    ADD RDAREA RDAREA03
      FOR INDEX INDX01 IN RDAREA13;
 

表データ格納用RDエリア(RDAREA03)とインデクス格納用RDエリア(RDAREA13)を追加しました。これで,TABLE01の横分割数が二つから三つに増えました。

(4) pdrbalコマンドで表のリバランスを行います

(a) 共有モードで実行する場合
 
pdrbal -k share -t TABLE01 -c 100 /pdrbal/cfile01
 

〔説明〕
-k:共有モードで実行するためshareを指定します。
-t:リバランス表の名称を指定します。
-c:コミット単位を指定します。
/pdrbal/cfile01:pdrbalコマンドの制御文ファイルの名称を指定します。制御文ファイルの内容を次に示します。
 
report /tmp/output
execstop time,9:00
 

〔説明〕
report:pdrbalコマンドの実行結果の出力先を指定します。
execstop:pdrbalコマンドの実行時間を指定します。
(b) 占有モードで実行する場合
 
pdrbal -k exclusive -t TABLE01 -l a /pdrbal/cfile01
 

〔説明〕
-k:占有モードで実行するためexclusiveを指定します。
-t:リバランス表の名称を指定します。
-l:データベースの更新ログ取得方式を指定します。この例ではa(ログ取得モード)を指定します。
/pdrbal/cfile01:pdrbalコマンドの制御文ファイルの名称を指定します。制御文ファイルの内容を次に示します。
 
report /tmp/output
idxwork /index/work
sort /sort/work
 

〔説明〕
report:pdrbalコマンドの実行結果の出力先を指定します。
idxwork:インデクス情報ファイル出力用のディレクトリ名を指定します。
sort:ソート用ワークディレクトリ名を指定します。

(5) pdgetcstコマンドで表の最適化情報を取得します

必要であれば最適化情報収集ユティリティ(pdgetcstコマンド)で表の最適化情報を取得してください。最適化情報収集ユティリティの実行要否については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。

 
pdgetcst -t TABLE01 -l /pdgetcst/output
 

〔説明〕
-t:最適化情報を取得する表名を指定します。
-l:pdgetcstコマンドの実行結果の出力先を指定します。

 

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