Импортируйте все ссылки на базу данных с помощью dbms_datapump

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

Вопрос

Исходная версия базы данных:11.2.0.3
Целевая версия базы данных:12.1.0.2

Я пытаюсь импортировать все ссылки на базы данных из одной базы данных в другую, используя dbms_datapump.Код выполняется в указанной выше целевой базе данных и извлекает ссылки на базу данных из указанной выше исходной базы данных по ссылке на базу данных.

В прошлом я использовал 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_OBJECTS, SCHEMA_EXPORT_OBJECTS и TABLE_EXPORT_OBJECTS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top