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

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

12.1.4 例題1(表定義情報と表データを同時に移行する場合)

HiRDBシステムAの表(TABLE1)をHiRDBシステムBに移行します。

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

[図データ]

<この項の構成>
(1) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(2) pdrorgコマンドの制御文ファイルを作成します
(3) pdrorgコマンドでTABLE1をエクスポートします
(4) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
(5) 表移行用アンロードファイルをCMTなどの媒体に格納します
(6) 移行先システムに表移行用アンロードファイルを格納します
(7) インポートを実行するユーザのスキーマをpddefコマンドで定義します
(8) システムログファイルをスワップします
(9) pdcopyコマンドでバックアップを取得します
(10) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(11) pdloadコマンドの制御文ファイルを作成します
(12) pdloadコマンドでTABLE1をインポートします
(13) システムログファイルをスワップします
(14) pdcopyコマンドでバックアップを取得します
(15) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します

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

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

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

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

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

〔説明〕
表移行用アンロードファイルの名称を指定します。
(b) HiRDB/パラレルサーバの場合
 
unload bes1:/file/export_file
 

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

(3) pdrorgコマンドでTABLE1をエクスポートします

 
pdrorg -k unld -W bin -w -t TABLE1 /pdrorg/rorg01
 

〔説明〕
-k:エクスポート(アンロード)をするためunldを指定します。
-W:表移行用アンロードファイルを作成するためbin -wを指定します。
-t:エクスポートする表の名称を指定します。
/pdrorg/rorg01:(2)で作成したpdrorgコマンドの制御文ファイル名を指定します。

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

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

(5) 表移行用アンロードファイルをCMTなどの媒体に格納します

(3)で作成した表移行用アンロードファイルをCMTなどの媒体に格納します。

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

(6) 移行先システムに表移行用アンロードファイルを格納します

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

CMTなどの媒体に格納した表移行用アンロードファイルを移行先システムに格納します。

(7) インポートを実行するユーザのスキーマをpddefコマンドで定義します

 
pddef
   CREATE SCHEMA AUTHORIZATION USR01;
 

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

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

 
pdlogswap -d sys -w
 

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

(9) 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. バックアップの取得方法」を参照してください。

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

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

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

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

(a) HiRDB/シングルサーバの場合
 
source /file/export_file                         1
idxwork /idxwork                                 2
sort /sortwork,8192                              3
 

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

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

(12) pdloadコマンドでTABLE1をインポートします

 
pdload -b -W -w all TABLE1 /pdload/load01
 

〔説明〕
インデクス(INDEX1)も同時に再作成するため,-iオプションを省略してインデクス一括作成モードでインデクスを一括作成します。
-b:表移行用アンロードファイルを入力するため,-W -wを指定します。また,表定義情報と表データを同時にインポートするため,allを指定します。
/pdload/load01:(11)で作成したpdloadコマンドの制御文ファイル名を指定します。

このとき,移行元システムと移行先システムでエンディアンが異なる場合,インポート時にエンディアン変換をします。なお,インポート時に障害が発生した場合の対処については,「12.1.10 インポート時に障害が発生した場合の対処方法」を参照してください。

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

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

 
pdlogswap -d sys -w
 

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

(14) 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. バックアップの取得方法」を参照してください。

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

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

 

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