Hitachi

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


12.1.1 表をほかのHiRDBシステムに移行する前に

〈この項の構成〉

(1) 制限事項

(2) RDエリアに関する注意事項(重要)

  1. 表定義情報を移行する場合,移行先システムに移行元システムと同じ名称のRDエリアを作成しておく必要があります。

  2. 表定義情報と表データを同時に移行する方法で,非分割表を移行する場合,移行元システムと移行先システムでRDエリア名が異なるとき,移行先システムでデータベース作成ユティリティ実行時に-w rdaomitオプションを指定すれば,移行ができます。ただし,表にBLOB列が定義されている場合は,表定義エラーとなります。

  3. 表定義情報と表データを別々に移行する方法で,移行対象の表が格納されているRDエリア名とRDエリアを格納するサーバ構成が,移行元システムと移行先システムで異なる場合,データベース再編成ユティリティ実行時に-gオプションを指定する必要があります。-gオプションを指定する必要があるシステム構成例を次の図に示します。

    図12‒1 -gオプションを指定する必要があるシステム構成例

    [図データ]

(3) 表定義(データ型及び列の定義長)を変更する場合の注意事項

データ型又は列の定義長を変更できるのは,データベース再編成ユティリティで移行元システムの表データをDAT形式又はバイナリ形式でアンロードしたファイルを,移行先システムでデータロードするときです。DAT形式及びバイナリ形式の入力データファイルの制限事項については,マニュアル「HiRDB コマンドリファレンス」を参照してください。

(a) 表定義を変更して表データを移行できない場合

表定義を変更して表データを移行できないのは,次の場合です。

  • 移行元システムと移行先システムのデータ型の組み合わせによって,移行に使用する入力データファイルの形式(DAT形式かバイナリ形式か)が異なります。このため,一つの表内にDAT形式だけで移行できるデータ型とバイナリ形式だけで移行できるデータ型が混在していると,移行できません。この場合はUAPなどで移行用のデータを作成する必要があります。

  • DAT形式のファイルで移行する場合,アンロードするときに文字列に変換するため,文字列に変換できないデータが含まれている表は移行できません。

    移行先システムで表データをデータロードする場合,移行元システムのデータが移行先システムのデータ型に対応した形式でないと,エラーになったり,データが切り捨てられるおそれがあります。このため,移行元システムのデータが,移行先システムのデータ型に対応している必要があります。詳細は,マニュアル「HiRDB コマンドリファレンス」を参照してください。

(b) 移行できるデータ型の組み合わせと入力データファイルの形式

移行元システムと移行先システムで,移行できるデータ型の組み合わせと,その場合に作成する入力データファイルの形式を次の表に示します。

表12‒2 移行できるデータ型の組み合わせと入力データファイルの形式

移行できるデータ型の組み合わせ

入力データファイルの形式

移行元システム

移行先の列

DAT形式

バイナリ形式

数データ

数データ

固定長文字データ

×

可変長文字データ

長大データ

バイナリデータ

固定長文字データ

数データ

×

固定長文字データ

可変長文字データ

×

日付データ

時刻データ

日間隔データ

時間隔データ

時刻印データ

長大データ

バイナリデータ

可変長文字データ

数データ

×

固定長文字データ

可変長文字データ

日付データ

×

時刻データ

日間隔データ

時間隔データ

時刻印データ

長大データ

バイナリデータ

日付データ

固定長文字データ

×

可変長文字データ

日付データ

長大データ

×

バイナリデータ

時刻データ

固定長文字データ

×

可変長文字データ

日付データ

×

時刻データ

長大データ

×

バイナリデータ

日間隔データ

固定長文字データ

×

可変長文字データ

日間隔データ

長大データ

×

バイナリデータ

時間隔データ

固定長文字データ

×

可変長文字データ

時間隔データ

長大データ

×

バイナリデータ

時刻印データ

固定長文字データ

×

可変長文字データ

時刻印データ

長大データ

×

バイナリデータ

長大データ

長大データ

×

バイナリデータ

バイナリデータ

数データ

×

固定長文字データ

可変長文字データ

日付データ

時刻データ

日間隔データ

時間隔データ

時刻印データ

長大データ

バイナリデータ

(凡例)

○:移行できます。

△:データ値が移行先システムのデータ型に対応した値であれば,移行できます。

×:移行できません。

(c) 列の定義長を変更する場合の入力データファイルの形式

移行先システムで定義長をどのように変更するかと,その場合に作成する入力データファイルの形式を次の表に示します。

移行元システム

移行先システム

入力データファイル

定義長を変更する列のデータ型

変更後の定義長

(変更前と比べて)

DAT形式

バイナリ形式

数データ

DECIMAL型

長い

×

短い

×

DECIMAL型以外

※1

固定長文字データ

長い

※2

※2,※3

短い

×

可変長文字データ

長い

短い

×

時刻印データ

長い

×

短い

×

長大データ

長い

×

短い

×

×

バイナリデータ

長い

短い

×

(凡例)

○:移行できます。

△:データ値が移行先システムのデータ型に対応した値であれば,移行できます。

×:移行できません。

−:該当しません。

注※1

DECIMAL型以外の数データは,定義長が固定のため,対象外です。

注※2

左詰めで入力され,余りは空白で埋められます。

注※3

HiRDBのバージョンが08-04より前の場合は,移行できません。