5.1.8 エンディアンが異なるプラットフォーム間のデータ移行
既存のHiRDBシステムを別のHiRDBシステムに移行する場合,既存システムのデータを別システムに移行する必要があります。データ移行時,移行元システムと移行先システムでエンディアンが異なる場合,pdloadが入力データファイルのエンディアンを変換して移行先システムにデータロードできます。このとき,入力データファイルには,pdrorgを使用してバイナリ形式でアンロードしたファイル(pdrorg出力バイナリ形式ファイル)を指定します。エンディアンが異なるプラットフォーム間のデータ移行の概要を次の図に示します。
- [説明]
-
移行元システムでpdrorgを使用してデータをアンロードします。アンロードデータファイルを移行先システムに転送し,pdloadでエンディアンを変換してデータロードします。
pdrorg出力バイナリ形式ファイルについては,「pdrorg出力バイナリ形式ファイル」を参照してください。
- 〈この項の構成〉
(1) エンディアン変換の有無
入力データの制御情報中の数値データと数値型データをエンディアン変換します。FIX表と非FIX表の入力データの変換有無をそれぞれ次の表に示します。
データ型 |
エンディアン変換の有無 |
---|---|
INTEGER |
○ |
SMALLINT |
○ |
DECIMAL |
× |
FLOAT※1 |
○ |
SMALLFLT※1 |
○ |
CHAR |
×※2 |
NCHAR |
×※2 |
MCHAR |
×※2 |
DATE |
× |
TIME |
× |
TIMESTAMP |
× |
INTERVAL YEAR TO DAY |
× |
INTERVAL HOUR TO SECOND |
× |
- (凡例)
-
○:エンディアン変換します。
×:エンディアン変換しません。
- 注※1
-
浮動小数点数はハードウェア表現によって精度が異なり,プラットフォーム間移行によってけた落ちが発生するおそれがありますが,これに関しては保証しません。
- 注※2
-
データ中に数値が入っていても,データ中のエンディアン変換はしません。
表5‒4 エンディアン変換の有無(非FIX表) 箇所
データ型
エンディアン変換の有無
基本行データの長さ及びオフセット部
−
○
既定義型の列データ値
INTEGER
○
SMALLINT
○
DECIMAL
×
FLOAT※1
○
SMALLFLT※1
○
CHAR
×※2
VARCHAR
△※2
NCHAR
×※2
NVARCHAR
△※2
MCHAR
×※2
MVARCHAR
△※2
DATE
×
TIME
×
TIMESTAMP
×
INTERVAL YEAR TO DAY
×
INTERVAL HOUR TO SECOND
×
BINARY
△※2
BLOB
△※2
コンストラクタ関数の引数のデータ値
INTEGER
○
SMALLINT
○
FLOAT※1
○
SMALLFLT※1
○
CHAR
×※2
VARCHAR
△※2
NCHAR
×※2
NVARCHAR
△※2
MCHAR
×※2
MVARCHAR
△※2
BINARY
△※2
BLOB
△※2
繰返し列の要素数
−
○
繰返し列のナル値フラグ
−
×
繰返し要素値
−
※3
BINARY引数のデータ値
−
×
BINARY列のデータ値
−
×
BLOB引数のデータ値
−
×※2
BLOB列のデータ値
−
×※2
- (凡例)
-
○:エンディアン変換します。
△:実データ長部分だけをエンディアン変換します。
×:エンディアン変換しません。
−:該当しません。
- 注※1
-
浮動小数点数はハードウェア表現によって精度が異なり,プラットフォーム間移行によってけた落ちが発生するおそれがありますが,これに関しては保証しません。
- 注※2
-
データ中に数値が入っていても,データ中のエンディアン変換はしません。
- 注※3
-
繰返し列の要素値は既定義型の列データ値で該当するデータ型を参照してください。