Frage

Quell-DB-Version:11.2.0.3
Ziel-DB-Version:12.1.0.2

Ich versuche, mit dbms_datapump alle Datenbankverknüpfungen von einer Datenbank in eine andere zu importieren.Der Code wird auf der oben genannten Ziel-DB ausgeführt und ruft die DB-Links über einen Datenbanklink von der oben genannten Quell-DB ab.

Ich habe in der Vergangenheit dbms_datapump.metadata_filter verwendet, um nur bestimmte Objekte (wie Funktionen oder Prozeduren) zu importieren.Folgendes gibt jedoch ORA-39001 zurück:Ungültiger Argumentwert:

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

Deshalb habe ich die Pluralversion ausprobiert, die auch ORA-39001 zurückgab:

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

Ich weiß, dass mir hier etwas Grundlegendes fehlt, aber die Suche zu diesem Thema war nervig, da Suchergebnisse mit „dbms_datapump“ und „Datenbanklink“ in derselben Suche nur Ergebnisse zum Importieren über einen Datenbanklink und nicht zum Wie lieferten um die Datenbank-Links direkt zu importieren.

Früher konnte ich die Datenbanklinks direkt importieren mit:

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

Dann würde ich die Ausgabe der obigen Anweisung mit „Execute Instant“ ausführen, aber dies ist ab 11.2.0.4 keine gültige Option mehr (siehe Metalink Doc ID 1905221.1).

War es hilfreich?

Lösung

Es ist nicht DATABASE LINK oder DATABASE LINKS, es ist DB_LINK.Die gültigen Werte finden Sie in DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS Und TABLE_EXPORT_OBJECTS.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top