استيراد جميع روابط قاعدة البيانات باستخدام 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;

بعد ذلك، سأقوم بتشغيل الإخراج من العبارة أعلاه باستخدام التنفيذ الفوري، لكن هذا لم يعد خيارًا صالحًا بدءًا من 11.2.0.4 (راجع معرف مستند Metalink 1905221.1).

هل كانت مفيدة؟

المحلول

ليس DATABASE LINK أو DATABASE LINKS, ، إنها DB_LINK.يمكنك العثور على القيم الصحيحة في DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS و TABLE_EXPORT_OBJECTS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى dba.stackexchange
scroll top