Importa tutti i collegamenti del database usando DBMS_DataPump
-
29-09-2020 - |
Domanda
.Source DB Versione: 11.2.0.3
Destination DB Versione: 12.1.0.2
Sto tentando di importare tutti i collegamenti del database da un database a un altro utilizzando DBMS_DataPump. Il codice è in esecuzione sul DB di destinazione sopra riportato e tirando i collegamenti DB dal DB di origine sopra tramite un collegamento del database.
Ho usato dbms_datapump.metadata_filter in passato per importare solo determinati oggetti (come funzioni o procedure). Tuttavia, i seguenti rendimenti ORA-39001: valore argomento non valido:
dbms_datapump.metadata_filter(h1,'INCLUDE_PATH_EXPR','IN (''DATABASE LINK'')');
.
Pertanto, ho provato la versione plurale che ha anche restituito ORA-39001:
dbms_datapump.metadata_filter(h1,'INCLUDE_PATH_EXPR','IN (''DATABASE LINKS'')');
.
so che devo mancare qualcosa di base qui, ma la ricerca di questo problema è stato fastidioso dal momento che i risultati della ricerca con "dbms_datapump" e "link del database" nella stessa ricerca hanno restituito solo i risultati con come importare su un collegamento di database, e non come importare direttamente i link del database.
L'ho usato per importare i collegamenti del database direttamente utilizzando:
select DBMS_LOB.SUBSTR@dblinkimp(DBMS_METADATA.GET_DDL@dblinkimp
('DB_LINK', '[DBlinkName]', '[SchemaName]')) from dual@dblinkimp;
.
Allora eseguirei l'output dall'istruzione di cui sopra usando Execute Immediato, ma non è più un'opzione valida a partire da 11.2.0.4 (vedere Metalink doc ID 19052221.1).
Soluzione
Non è DATABASE LINK
o DATABASE LINKS
, è DB_LINK
.È possibile trovare i valori validi in DATABASE_EXPORT_OBJECTS
, SCHEMA_EXPORT_OBJECTS
e TABLE_EXPORT_OBJECTS
.