あるサブシステムから別のサブシステムへの表のコピー

DSN1COPY ユーティリティーを使用して、1 つのサブシステムから別のサブシステムに表をコピーすることができます。 表をコピーするときには、ターゲット・サブシステムのオブジェクト・メタデータがソース・サブシステムのオブジェクト・メタデータと一致することを確認してください。 オブジェクト・メタデータには、列の数、列タイプ、表スペース・タイプ、バージョン情報などの項目が含まれます。

このタスクについて

推奨: DSN1COPY を使用してXMLテーブルスペースをサブシステム間でコピーしないでください。 XML 表スペース内の文書には、DB2 カタログ表、および XML スキーマ・リポジトリー・データベース (DSNXSR) 内の表に対する従属関係があります。 特に、XML 表スペース内の XML 文書に含まれる固有ストリング ID は、カタログ表 SYSIBM.SYSXMLSTRINGS の中の値に一致する必要があります。 また、XML スキーマ・リポジトリー表 SYSIBM.XSROBJECTS 内の値に一致する必要のある XSR オブジェクト ID が文書に含まれる場合もあります。 1 つのサブシステムから別のサブシステムに XML 表スペースをコピーすると、XML 文書内のストリング ID と XSR オブジェクト ID はターゲット・サブシステムでの SYSIBM.SYSXMLSTRINGS および SYSIBM.XSROBJECTS 内の値に一致しなくなります。

プロシージャー

1 つのサブシステムから別のサブシステムに表スペースおよび表をコピーするには、次のようにします。

  1. 変更の開始 「不足しているシステムページの確認」 の手順に従って、ソースシステムのテーブルスペースに不足しているシステムページがないか確認し、挿入します。
    重要: このステップにより、テーブルスペース内のテーブルが自己記述型になります。 テーブルスペースが自己記述型の場合、 Db2 テーブル形式情報を探すためにカタログやディレクトリを検索する必要がなくなるため、テーブルがターゲットサブシステムにコピーされた後のエラー発生の可能性が低くなります。
    変更の終わり
  2. ターゲット・サブシステムに表スペースまたは表が存在しない場合は、それを作成します。

    表に ID 列が存在する場合は、以下のようにして、その列を指定します。

    1. ソース・サブシステムに対して SELECT ステートメントを発行して、ソース・サブシステム上の表の ID 列に対応する SYSIBM.SYSSEQUENCES 項目を照会します。
    2. ID列の次の値 (nv) を決定するために、MAXASSIGNEDVAL値にINCREMENT値を加算します。
    3. ターゲットサブシステムに関するテーブルでは、START WITH の値として nv を指定します。
    4. ターゲット表の ID 列のすべての属性を、ソース表の ID 列の属性と同じにします。
  3. ターゲット・サブシステム上に表スペースまたは表が存在する場合、カタログ内でのその表スペース、表、および列の定義がソース・サブシステムとターゲット・サブシステムで同じであることを確認します。
  4. ターゲット・サブシステム内のオブジェクトの DBID、PSID、および OBID を照会します。 ソース・オブジェクトと値が同じでない場合、DSN1COPY での OBIDXLAT データ・セットの一部分として DBID、PSID、および OBID を指定します。
  5. ソース・サブシステムおよびターゲット・サブシステム上の表スペースを停止します。
  6. OBIDXLAT オプションおよび RESET オプションを指定して DSN1COPY ユーティリティーを実行します。 表スペースの表データベース・オブジェクト ID (OBID) の、ソース・サブシステムからターゲット・サブシステムへの適切なマッピングを、SYSXLAT データ・セットで指定します。
  7. ソース・サブシステムおよびターゲット・サブシステム上の表スペースを、読み取り/書き込みアクセス用に開始します。
  8. ターゲット・サブシステム上の表スペースに対して REPAIR CATALOG TEST を実行することにより、カタログ情報がページ・セット情報に一致していることを確認します。

    以下のアクションのいずれかを行います。

    • REPAIR CATALOG TEST が戻りコード 0 で終了した場合は、次のステップに進みます。
    • REPAIR CATALOG TEST が戻りコード 4 で終了した場合は、REPAIR CATALOG を実行して不一致をすべて修正します。
    • REPAIR CATALOG TESTがリターンコード8で終了した場合は、 ステップ3 に進み、データのコピープロセスを再度開始します。
    REPAIR CATALOG ユーティリティーは次の列を更新します。
    • SYSTABLEPART の OLDEST_VERSION
    • SYSTABLES の VERSION
    • SYSTABLESPACE の OLDEST_VERSION および CURRENT_VERSION
  9. ソース・サブシステムで表に定義されている索引がターゲット・サブシステムの表では定義されていない場合、それらの索引を作成します。
  10. ターゲット・サブシステム上の表に定義されているすべての索引に対して REBUILD INDEX を実行します。