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

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

12.1.6 例題3(スキーマ単位に表を移行する場合

HiRDBシステムAの認可識別子USR01が所有するすべてのをHiRDBシステムBに移行します。なお,移行先システムには,同じ名称のRDエリアが作成されているとします。また,表のアンロード及びリロードをスキーマ単位で行います。

[図データ]

<この項の構成>
(1) pdholdコマンドで移行対象のデータを格納しているRDエリアを閉塞します
(2) pdrorgコマンドの制御文ファイルを作成します
(3) pdrorgコマンドでスキーマ単位のアンロードします
(4) pdrelsコマンドでRDエリアの閉塞を解除します
(5) pdexpコマンドの制御文ファイルを作成します
(6) pdexpコマンドですべての表の表定義情報を搬出します
(7) アンロードデータファイル及び搬出ファイルをCMTなどの媒体に格納します
(8) 移行先システムにアンロードデータファイル及び搬出ファイルを格納します
(9) スキーマ(認可識別子:USR01)をpddefコマンドで定義します
(10) システムログファイルをスワップします
(11) pdcopyコマンドでバックアップを取得します
(12) pdexpコマンドで表定義情報を搬入します
(13) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(14) pdrorgコマンドの制御文ファイルを作成します
(15) pdrorgコマンドですべての表のデータをリロードします
(16) システムログファイルをスワップします
(17) pdcopyコマンドでバックアップを取得します
(18) pdrelsコマンドでRDエリアの閉塞を解除します

(1) pdholdコマンドで移行対象のデータを格納しているRDエリアを閉塞します

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

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

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

(a) HiRDB/シングルサーバの場合
 
unload /pdrorg/unfile1
 

〔説明〕
アンロードデータファイルの名称を指定します。
(b) HiRDB/パラレルサーバの場合
 
unload bes1:/pdrorg/unfile1
 

〔説明〕
アンロードデータファイルの名称を指定します。-gオプションが仮定されるため,アンロードデータファイルを1か所に作成します。

(3) pdrorgコマンドでスキーマ単位のアンロードします

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

〔説明〕
-k:アンロードをするためunldを指定します。
-t:アンロード対象のスキーマの認可識別子を指定します。
/pdrorg/rorg01:(2)で作成したpdrorgコマンドの制御文ファイル名を指定します。
備考
スキーマ単位のアンロードでは-jオプション(LOBデータがあるときのアンロード)が仮定されています。また,HiRDB/パラレルサーバの場合は-gオプション(アンロードデータファイルの一元化)も仮定されています。

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

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

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

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

 
-t USR01.TABLE1
-t USR01.TABLE2
 

〔説明〕
USR01:TABLE1,TABLE2を所有するスキーマの名称です。
TABLE1,TABLE2:搬出する表の名称です。

(6) pdexpコマンドですべての表の表定義情報を搬出します

 
pdexp -e /pdexp/expfile1 -f /pdexp/exp01
 

〔説明〕
-e:搬出ファイルの名称を指定します。
-f:(5)で作成したpdexpコマンドの制御文ファイル名を指定します。

(7) アンロードデータファイル及び搬出ファイルをCMTなどの媒体に格納します

(3)で作成したアンロードデータファイル,及び(6)で作成した搬出ファイルをCMTなどの媒体に格納します。

移行元システム(HiRDBシステムA)での作業はこれで終わりです。

(8) 移行先システムにアンロードデータファイル及び搬出ファイルを格納します

これ以降は移行先システム(HiRDBシステムB)での作業になります。

CMTなどの媒体に格納したアンロードデータファイル及び搬出ファイルを移行先システムに格納します。

(9) スキーマ(認可識別子:USR01)をpddefコマンドで定義します

別スキーマ(USR01以外)に表を移行する場合は,この操作は必要ありません。

 
pddef
   CREATE SCHEMA AUTHORIZATION USR01;
 

(10) システムログファイルをスワップします

バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。

 
pdlogswap -d sys -w
 

〔説明〕
HiRDB/パラレルサーバの場合,-sオプションを指定して,バックアップ対象の全サーバ分pdlogswapコマンドを実行します。

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

 
pdcopy -m /rdarea/mast/mast01 -M r
-r RDMAST,RDDIR,RDDIC,RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
-b /pdcopy/backup01 -p /pdcopy/list01
 

〔説明〕
データベース移行中の障害発生に備えてバックアップを取得します。バックアップを取得するRDエリアを次に示します。
  • マスタディレクトリ用RDエリア
  • データディレクトリ用RDエリア
  • データディクショナリ用RDエリア
  • 搬入する表を格納するユーザ用RDエリア及びユーザLOB用RDエリア(RDAREA1〜RDAREA6)
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-r:バックアップを取得するRDエリアの名称を指定します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの処理結果リストの出力先を指定します。
バックアップの取得については,「6. バックアップの取得方法」を参照してください。

(12) pdexpコマンドで表定義情報を搬入します

 
pdexp -i /pdexp/expfile1
 

〔説明〕
-i:搬出ファイルの名称を指定します。

(13) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します

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

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

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

別スキーマ(USR01以外)に表を移行する場合は,制御文ファイルの内容が変わります。別スキーマに表を移行する場合の制御文ファイルの例については,「12.1.7 別スキーマに表を移行する場合の制御文ファイルの例」を参照してください。

(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用)の名称を指定します。

(15) pdrorgコマンドですべての表のデータをリロードします

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

〔説明〕
インデクス(INDEX1)も同時に再作成するため,-iオプションを省略してインデクス一括作成モードでインデクスを一括作成します。
-k:リロードをするためreldを指定します。
-t:アンロード対象のスキーマの認可識別子を指定します。別スキーマ(USR01以外)に表を移行する場合は,移行先のスキーマの認可識別子を指定してください。認可識別子USR02に移行する場合は-t USR02.allと指定します。
/pdrorg/rorg01:(14)で作成したpdrorgコマンドの制御文ファイル名を指定します。
備考
スキーマ単位のアンロードでは-jオプション(LOBデータがあるときのアンロード)が仮定されています。また,HiRDB/パラレルサーバの場合は-gオプション(アンロードデータファイルの一元化)も仮定されています。

(16) システムログファイルをスワップします

バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。

 
pdlogswap -d sys -w
 

〔説明〕
HiRDB/パラレルサーバの場合,-sオプションを指定して,バックアップ対象の全サーバ分pdlogswapコマンドを実行します。

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

 
pdcopy -m /rdarea/mast/mast01 -M r
-r RDMAST,RDDIR,RDDIC,RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
-b /pdcopy/backup02 -p /pdcopy/list02
 

〔説明〕
バックアップを取得するRDエリアを次に示します。
  • マスタディレクトリ用RDエリア
  • データディレクトリ用RDエリア
  • データディクショナリ用RDエリア
  • 搬入する表を格納するユーザ用RDエリア及びユーザLOB用RDエリア(RDAREA1〜RDAREA6)
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-r:バックアップを取得するRDエリアの名称を指定します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの処理結果リストの出力先を指定します。
バックアップの取得については,「6. バックアップの取得方法」を参照してください。

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

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

 

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