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

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

13.3.4 例題4(スキーマ単位で再編成する場合)

認可識別子USR01のユーザが所有するすべての表を再編成します。再編成するときの条件は次のとおりです。

〈手順〉
  1. SQLで再編成対象RDエリアを調べます。
  2. pdholdコマンドで再編成対象RDエリアを閉塞します。
  3. pdrorgコマンドの制御文ファイルを作成します。
  4. pdrorgコマンドで表を再編成します。
  5. 再編成対象RDエリアのバックアップを取得します。
  6. pdrelsコマンドでRDエリアの閉塞を解除します。
手順の数字はこの後で説明している( )レベルに対応しています。例えば,3の操作は(3)で説明しています。
ポイント
  • 更新前ログ取得モードでpdrorgコマンドを実行するため,pdrorgコマンドの実行後(手順5)にバックアップを取得する必要があります。
  • 更新前ログ取得モードでpdrorgコマンドを実行するため,前記の手順2〜5の間は再編成対象RDエリアを閉塞したままにしてください。
<この項の構成>
(1) SQLで再編成対象RDエリアを調べます
(2) pdholdコマンドで再編成対象RDエリアを閉塞します
(3) pdrorgコマンドの制御文ファイルを作成します
(4) pdrorgコマンドで表を再編成します
(5) 再編成対象RDエリアのバックアップを取得します
(6) pdrelsコマンドでRDエリアの閉塞を解除します

(1) SQLで再編成対象RDエリアを調べます

 
SELECT DISTINCT(RDAREA_NAME) FROM MASTER.SQL_TABLES            1
     WHERE TABLE_SCHEMA=USR01 AND RDAREA_NAME IS NOT NULL;
SELECT DISTINCT(RDAREA_NAME) FROM MASTER.SQL_DIV_TABLE         2
     WHERE TABLE_SCHEMA=USR01;
SELECT DISTINCT(RDAREA_NAME) FROM MASTER.SQL_INDEXES           3
     WHERE TABLE_SCHEMA=USR01 AND RDAREA_NAME IS NOT NULL;
SELECT DISTINCT(RDAREA_NAME) FROM MASTER.SQL_DIV_INDEX         4
     WHERE TABLE_SCHEMA=USR01;
 

〔説明〕
  1. 非横分割表を格納するRDエリアを検索します。
  2. 横分割表を格納するRDエリアを検索します。
  3. 非横分割インデクスを格納するRDエリアを検索します。
  4. 横分割インデクスを格納するRDエリアを検索します。

(2) pdholdコマンドで再編成対象RDエリアを閉塞します

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

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

制御文ファイル(/pdrorg/rorg01)の内容を次に示します。

(a) HiRDB/シングルサーバの場合
 
unload /pdrorg/unfile1                        1
idxwork /pdrorg/idxwork                       2
sort /sortwork,8192                           3
 

〔説明〕
  1. アンロードデータファイルの名称を指定します。
  2. インデクス情報ファイル作成用のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  3. ソート用ワークディレクトリの名称を指定します。
(b) HiRDB/パラレルサーバの場合
 
unload bes1:/pdrorg/unfile1                  1
idxwork bes1 /pdrorg/idxwork                 2
sort bes1 /sortwork,8192                     3
idxwork bes2 /pdrorg/idxwork                 4
sort bes2 /sortwork,8192                     5
 

〔説明〕
  1. アンロードデータファイルの名称を指定します。-gオプションが仮定されるため,アンロードデータファイルを1か所に作成します。
  2. インデクス情報ファイル作成用(bes1用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  3. ソート用ワークディレクトリ(bes1用)の名称を指定します。
  4. インデクス情報ファイル作成用(bes2用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  5. ソート用ワークディレクトリ(bes2用)の名称を指定します。

(4) pdrorgコマンドで表を再編成します

 
pdrorg -k rorg -t USR01.all /pdrorg/rorg01
 

〔説明〕
インデクス(INDEX1及びINDEX2)も同時に再作成するため,-iオプションを省略してインデクス一括作成モードでインデクスを一括作成します。
-k:再編成をするためrorgを指定します。
-t:再編成対象のスキーマの認可識別子を指定します。
/pdrorg/rorg01:(2)で作成したpdrorgコマンドの制御文ファイル名を指定します。
備考
スキーマ単位の再編成では-jオプション(LOBデータがあるときの再編成)及び-gオプション(アンロードデータファイルの一元化)が仮定されています。

(5) 再編成対象RDエリアのバックアップを取得します

再編成対象RDエリア(RDAREA1〜RDAREA8)のバックアップを取得してください。バックアップの取得方法については,「6.4.8 例題8(RDエリア単位にバックアップを取得する場合)」を参照してください。

(6) pdrelsコマンドでRDエリアの閉塞を解除します

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

 

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