Hitachi

ノンストップデータベース HiRDB Version 10 システム運用ガイド(UNIX(R)用)


12.2.2 例題

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

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

[図データ]

〈この項の構成〉

(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 -W bin -g -t TABLE1 /pdrorg/rorg01
〔説明〕

-k:アンロードをするためunldを指定します。

-W bin:アンロードデータファイルをpdloadコマンドの入力ファイル(バイナリ形式)として使用できるようにします。

-g:HiRDB/パラレルサーバで,TABLE1をサーバ間横分割している場合に指定してください。アンロードデータファイルが一つになります。

-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コマンドの処理結果リストの出力先を指定します。

バックアップの取得については,「バックアップの取得方法」を参照してください。

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

pdexp -i /pdexp/expfile1
〔説明〕

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

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

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

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

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

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

source /pdrorg/unfile1                           1
idxwork /pdrorg/idxwork                          2
sort /sortwork                                   3
〔説明〕
  1. アンロードデータファイルの名称を指定します。

  2. インデクス情報ファイル作成用のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。

  3. ソート用ワークディレクトリの名称を指定します。

(b) HiRDB/パラレルサーバの場合

source bes1:/pdrorg/unfile1                     1
idxwork bes1 /pdrorg/idxwork                    2
sort bes1 /sortwork                             3
idxwork bes2 /pdrorg/idxwork                    4
sort bes2 /sortwork                             5
〔説明〕
  1. アンロードデータファイル(bes1用)の名称を指定します。

  2. インデクス情報ファイル作成用(bes1用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。

  3. ソート用ワークディレクトリ(bes1用)の名称を指定します。

  4. インデクス情報ファイル作成用(bes2用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。

  5. ソート用ワークディレクトリ(bes2用)の名称を指定します。

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

pdload -b -W TABLE1 /pdload/load01
〔説明〕

-b:バイナリ形式のデータをロードする場合に指定します。

-W:pdrorgコマンドで作成したバイナリ形式の入力データファイルを使用する場合に指定します。

TABLE1:データロードする表の名称を指定します。

/pdload/load01:pdloadコマンドの制御文ファイル名を指定します。

(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コマンドの処理結果リストの出力先を指定します。

バックアップの取得については,「バックアップの取得方法」を参照してください。

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

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

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

pdexp -i /pdexp/expfile2
〔説明〕

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

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