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

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

12.2.2 例題

ストアドプロシジャ(ルーチン識別子:PROC1)及びストアドプロシジャが使用している表(TABLE1)をHiRDBシステムAからHiRDBシステムBに移行します。

なお,移行先システムには,同じ名称のRDエリア(RDAREA1〜RDAREA6)が作成されているとします。

[図データ]

<この項の構成>
(1) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(2) pdrorgコマンドの制御文ファイルを作成します
(3) pdrorgコマンドでTABLE1のデータをアンロードします
(4) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
(5) pdexpコマンドの制御文ファイルを作成します
(6) pdexpコマンドでTABLE1の表定義情報を搬出します
(7) pdexpコマンドの制御文ファイルを作成します
(8) pdexpコマンドでストアドプロシジャを搬出します
(9) アンロードデータファイル及び搬出ファイルをCMTなどの媒体に格納します
(10) 移行先システムにアンロードデータファイル及び搬出ファイルを格納します
(11) PROC1及びTABLE1を所有するユーザのスキーマをpddefコマンドで定義します
(12) システムログファイルをスワップします
(13) pdcopyコマンドでバックアップを取得します
(14) pdexpコマンドでTABLE1の表定義情報を搬入します
(15) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(16) pdrorgコマンドの制御文ファイルを作成します
(17) pdrorgコマンドでTABLE1のデータをリロードします
(18) システムログファイルをスワップします
(19) pdcopyコマンドでバックアップを取得します
(20) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
(21) pdexpコマンドでストアドプロシジャを搬入します

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

 
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
 

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

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

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

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

〔説明〕
  1. アンロードデータファイル(bes1用)の名称を指定します。
  2. アンロードデータファイル(bes1用)の名称を指定します。

(3) pdrorgコマンドでTABLE1のデータをアンロードします

 
pdrorg -k unld -j -t TABLE1 /pdrorg/rorg01
 

〔説明〕
-k:アンロードをするためunldを指定します。
-j:LOB列がある表をアンロードする場合に指定します。
-t:アンロードする表の名称を指定します。
/pdrorg/rorg01:(2)で作成したpdrorgコマンドの制御文ファイル名を指定します。

(4) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します

 
pdrels -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
 

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

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

 
-t USR01.TABLE1
 

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

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

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

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

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

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

 
-p USR01.PROC1
 

〔説明〕
USR01:PROC1を所有するスキーマの名称です。
PROC1:搬出するストアドプロシジャの名称です。

(8) pdexpコマンドでストアドプロシジャを搬出します

 
pdexp -e /pdexp/expfile2 -f /pdexp/exp02
 

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

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

(3)で作成したアンロードデータファイル,及び(6),(8)で作成した搬出ファイルをCMTなどの媒体に格納します。移行元システム(HiRDBシステムA)での作業はこれで終わりです。

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

これ以降は移行先システム(HiRDBシステムB)での作業になります。CMTなどの媒体に格納したアンロードデータファイル及び搬出ファイルを移行先システムに格納します。

(11) PROC1及びTABLE1を所有するユーザのスキーマをpddefコマンドで定義します

 
pddef
   CREATE SCHEMA AUTHORIZATION USR01;
 

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

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

 
pdlogswap -d sys -w
 

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

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

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

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

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

 
pdexp -i /pdexp/expfile1
 

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

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

 
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
 

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

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

(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
unload bes2:/pdrorg/unfile2                     4
idxwork bes2 /pdrorg/idxwork                    5
sort bes2 /sortwork,8192                        6
 

〔説明〕
  1. アンロードデータファイル(bes1用)の名称を指定します。
  2. インデクス情報ファイル作成用(bes1用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  3. ソート用ワークディレクトリ(bes1用)の名称を指定します。
  4. アンロードデータファイル(bes2用)の名称を指定します。
  5. インデクス情報ファイル作成用(bes2用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  6. ソート用ワークディレクトリ(bes2用)の名称を指定します。

(17) pdrorgコマンドでTABLE1のデータをリロードします

 
pdrorg -k reld -j -t TABLE1 /pdrorg/rorg01
 

〔説明〕
インデクス(INDEX1)も同時に再作成するため,-iオプションを省略してインデクス一括作成モードでインデクスを一括作成します。
-k:リロードをするためreldを指定します。
-j:LOB列がある表をリロードする場合に指定します。
-t:リロードする表の名称を指定します。
/pdrorg/rorg02:(16)で作成したpdrorgコマンドの制御文ファイル名を指定します。

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

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

 
pdlogswap -d sys -w
 

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

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

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

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

(20) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します

 
pdrels -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
 

(21) pdexpコマンドでストアドプロシジャを搬入します

 
pdexp -i /pdexp/expfile2
 

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

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