1.9 トポロジ・データのエクスポートおよびインポート

あるデータベースからトポロジをエクスポートし、そのトポロジを別のデータベースに同じ名前、構造およびデータを持つ新しいトポロジとしてインポートできます。ただし、ターゲット・データベースには、エクスポートされるトポロジと同じ名前を持つトポロジが存在していないことが前提となります。

あるデータベースからトポロジ・データをエクスポートし、そのデータを別のデータベースにインポートするには、この項に示すステップを実行します。

ノート:

このステップは、トポロジ・データがトランスポータブル表領域を使用して転送されるかどうかに関係なく必要です。(トランスポータブル表領域および表領域を別のデータベースに転送する方法の詳細は、『Oracle Database管理者ガイド』を参照してください。)

エクスポートするトポロジ・データを格納しているデータベースで、次の手順を実行します。

  1. トポロジの所有者としてデータベースに接続します。

  2. SDO_TOPO.PREPARE_FOR_EXPORTプロシージャ(「SDO_TOPOパッケージ・サブプログラム」を参照)を実行し、<topology-name>_EXP$という形式の名前を使用してトポロジのエクスポート情報表を作成します。(この表には、USER_SDO_TOPO_INFOビューおよびALL_SDO_TOPO_INFOビューと同じ列が含まれます。これらの列については、「xxx_SDO_TOPO_INFOビュー」表1-8を参照してください。)

    たとえば、エクスポート用にサンプル・トポロジのCITY_DATAを用意すると、CITY_DATA_EXP$表が作成されます。

  3. フィーチャ表および<topology-name>_EDGE$表、<topology-name>_FACE$表、<topology-name>_HISTORY$表、<topology-name>_NODE$表、<topology-name>_RELATION$表、<topology-name>_EXP$表など、トポロジに関連したすべての表をエクスポートします。フィーチャ表の名前(存在する場合)はトポロジ・メタデータに格納されます。

    これによって、.dmpの拡張子を持つファイル(city_data.dmpなど)が作成されます。

トポロジ・データをインポートするデータベースでは、次の手順を実行します。

  1. ターゲット・データベース(ソース・データベースからエクスポートされるトポロジと同じ名前、構造およびデータを持つトポロジを作成するデータベース)に接続します。作成されるトポロジを所有するスキーマのユーザーとして接続します。

  2. ターゲット・データベースに、.dmpファイルのトポロジと同じ名前を持つトポロジが格納されていないことを確認します。

  3. トポロジ・データのエクスポート時に作成した.dmpファイルから表をインポートします。indexes=Nオプションを指定します。

  4. ソース・データベース内のトポロジに使用したスキーマとは別のスキーマにトポロジ表をインポートした場合は、<topology-name>_EXP$表内のすべての行でOWNER列とTABLE_SCHEMA列の値を更新して、現在(ターゲット)のデータベースの表所有者とスキーマ名を反映します。

  5. SDO_TOPO.INITIALIZE_AFTER_IMPORTプロシージャを実行します。このプロシージャは、必要に応じてトポロジの作成および他の操作を行い、トポロジを使用できるようにします。