データベース・オブジェクトのコピーのサポート

データベース・オブジェクトおよびそのデータは、同種のデータベースにも異種のデータベースにもコピーできます。
表 1 では、異種コピーおよび同種コピーでサポートされるデータベースを示します。
表 1. 各ソース・データベースでサポートされるターゲット・データベース
ソース・データベース ターゲット・データベース
DB2® Version 9.5 for Linux, UNIX, and Windows
  • DB2 Version 9.5 for Linux, UNIX, and Windows
  • DB2 Version 9.7 for Linux, UNIX, and Windows
DB2 Version 9.7 for Linux, UNIX, and Windows
  • DB2 Version 9.5 for Linux, UNIX, and Windows (バージョン 9.7 の機能を除く)
  • DB2 Version 9.7 for Linux, UNIX, and Windows
  • DB2 Version 9 for z/OS®
  • Oracle Database 10g
  • Oracle Database 11g
DB2 Version 9 for z/OS
  • DB2 Version 9.7 for Linux, UNIX, and Windows
  • DB2 Version 9 for z/OS
Oracle Database 10g
  • DB2 Version 9.7 for Linux, UNIX, and Windows
  • Oracle Database 10g
  • Oracle Database 11g
Oracle Database 11g
  • DB2 Version 9.7 for Linux, UNIX, and Windows
  • Oracle Database 10g (Oracle Database 11g の機能を除く)
  • Oracle Database 11g
同種のデータベース間でのオブジェクトのコピーのサポートは、 データベース・オブジェクトおよびデータのコピーに関する制限で説明されている制限によってのみ制限されます。 異種のデータベース間でのオブジェクト・タイプのコピーのサポートについては、以下のリストで説明します。 この構文に含まれていないオプションには、DDL 構文は生成されません。 サポートされていないオプションには、警告メッセージが出されます。
表のコピー
異種のデータベース間での表のコピーでは、以下の構文を使用した表の定義がサポートされます。
  • 主キーが含まれた表
  • NOT NULL 制約が含まれた表
  • サポートされているデータ・タイプが含まれた表
  • デフォルト値を持つ列が含まれた表
索引のコピー
異種のデータベース間でのコピーでは、ユニーク索引がサポートされています。
DB2 for Linux, UNIX, and Windows データベース と DB2 for z/OS データベース間でコピーする場合、以下の構文のみがサポートされます。
CREATE <UNIQUE> INDEX index_name
	ON table_name
	(column_name	ASC|DESC);
制約のコピー
異種のデータベース間でのコピーでは、表オブジェクトおよびビュー・オブジェクトに対する以下のタイプの制約がサポートされています。
  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
ビューのコピー
異種のデータベース間でのビューのコピーは、ビューのベースとなっている表でサポートされるレベルで行われます。 ビューのコピーに関する制限については、データベース・オブジェクトおよびデータのコピーに関する制限を参照してください。
トリガーのコピー
トリガーは、単体ではコピーできません。トリガーが属している表やビューの一部としてコピーします。
異種のデータベース間でのトリガーのコピーでは、以下の構文を使用した トリガーの定義がサポートされます。
  • FOR EACH ROW (つまり、行トリガー)
  • ステートメント・トリガー
  • BEFORE および AFTER
  • ビューにおける INSTEAD OF トリガー (FOR EACH ROW 節を含むものを除く)
  • INSERT、UPDATE、および DELETE
注: DB2 Version 9.7 for Linux, UNIX, and Windows データベースから Oracle へのコピーでは、PL/SQL トリガーのみがサポートされます。
ユーザー定義タイプのコピー
異種のデータベース間でのコピーでは、現在以下のユーザー定義タイプがサポートされています。
  • Oracle VARRAY ユーザー定義タイプ
  • DB2 ARRAY および VARRAY ユーザー定義タイプ
DB2 for Linux, UNIX, and Windows では、 VARRAY ユーザー定義タイプは PL/SQL プロシージャーでのみ完全にサポートされています。
シノニムのコピー
Oracle と DB2 for Linux, UNIX, and Windows 間の 異種コピーでは、以下のオブジェクトのシノニムがサポートされています。
  • ビュー
  • その他のシノニム

さらに、DB2 for Linux, UNIX, and Windows ソース から Oracle ターゲットへのコピーでは、ニックネームのシノニムもサポートされています。 DB2 では、シノニムは別名とも呼ばれます。

シノニムは、参照先のオブジェクトなしでもコピーできます。 ただし、シノニムのコピー元のオブジェクトがターゲット・データベース に存在しない場合、サーバーはオブジェクトが欠落していることを 示すエラーをスローします。

シーケンスのコピー
Oracle と DB2 for Linux, UNIX, and Windows の間では、 シーケンスの異種コピーがサポートされています。

CACHE 以外のすべてのシーケンス・パラメーターのコピーがサポートされています。

PL/SQL ルーチンのコピー
異種のデータベース間でのコピーでは、PL/SQL 構文を使用して作成されたストアード・プロシージャーおよびストアード関数である、PL/SQL ルーチンのみがサポートされます。 異種コピーでは、Oracle および DB2 の PL/SQL ルーチンは、DB2 Version 9.7 for Linux, UNIX, and Windows が PL/SQL をサポートするレベルでサポートされます。 詳細については、DB2 Version 9.7 for Linux, UNIX, and Windows の資料を参照してください。
モジュールのコピー
DB2 Version 9.7 for Linux, UNIX, and Windows データベース間では、 モジュール全体のコピーがサポートされています。
PL/SQL パッケージのコピー
異種のデータベース間のコピーでは、Oracle および DB2 の PL/SQL パッケージは、 DB2 Version 9.7 for Linux, UNIX, and Windows が PL/SQL をサポートするレベルでサポートされます。 詳細については、DB2 Version 9.7 for Linux, UNIX, and Windows の資料を参照してください。

フィードバック