DBMS_DataPumpを使用してすべてのデータベースリンクをインポートします

dba.stackexchange https://dba.stackexchange.com/questions/118068

質問

ソースDBバージョン:11.2.0.3
宛先DBバージョン:12.1.0.2

DBMS_DataPumpを使用して、あるデータベースから別のデータベースへのすべてのデータベースリンクをインポートしようとしています。コードは上記の宛先DB上で実行されており、データベースリンクを介して上記の送信元DBからDBリンクを取得しています。

過去にDBMS_DATAPUMP.METADATA_FILTERを使用して、特定のオブジェクトをインポートします(関数やプロシージャーなど)。ただし、次の項目はORA-39001を返します。無効な引数値:

dbms_datapump.metadata_filter(h1,'INCLUDE_PATH_EXPR','IN (''DATABASE LINK'')');
.

したがって、私はORA-39001も返品された複数版を試しました:

dbms_datapump.metadata_filter(h1,'INCLUDE_PATH_EXPR','IN (''DATABASE LINKS'')');
.

私はここで基本的なものを欠けている必要がありますが、同じ検索で「DBMS_DataPump」と「データベースリンク」を持つ検索結果は、データベースリンクをインポートする方法で検索結果を検索しています。データベースリンクを直接インポートする方法ではありません。

私は、データベースリンクを直接インポートできるようにしました:

select DBMS_LOB.SUBSTR@dblinkimp(DBMS_METADATA.GET_DDL@dblinkimp
('DB_LINK', '[DBlinkName]', '[SchemaName]')) from dual@dblinkimp;
.

その後、EXECUTE IMMEDIATEを使用して上記のステートメントから出力を実行しますが、これは11.2.0.4から始まる有効なオプションではありません(Metalink Doc ID 1905221.1を参照)。

役に立ちましたか?

解決

DATABASE LINKまたはDATABASE LINKSではなく、DB_LINKです。DATABASE_EXPORT_OBJECTSSCHEMA_EXPORT_OBJECTSおよびTABLE_EXPORT_OBJECTSに有効な値を見つけることができます。

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top