سؤال

لقد فعلت بعد كوماندس:

expdp system/password@localdb ^
schemas=SCH directory=dumps_dir dumpfile=SCH_%date%.dmp logfile=expdpSCH_%date%.log

إنه يعمل بشكل رائع ، بدون أخطاء.ولكن عندما أستخدم الأمر:

impdp system/password@localdb ^
schemas=SCH directory=dumps_dir dumpfile=SCH_%date%.dmp logfile=impdpSCH_%date%.log

أعطاني مجموعة من الأخطاء التي الجداول ، تسلسل وغيرها من الاشياء موجودة بالفعل.لذلك لدي سؤال, هل يمكنني استخدام مثل هذا النهج أم أنه خطأ ويجب أن أستخدم شيئا آخر?

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

المحلول

تحقق من الوثائق لمزيد من المعلومات أو النوع impdp help=y.هناك معلمة (جدول_موجود_العمل) الذي يحدد ما إذا كنت تريد الكتابة فوق الكائنات الموجودة أو إذا كنت تريد إلحاق.

جدول_موجود_العمل
الإجراء الواجب اتخاذه إذا كان الكائن المستورد موجودا بالفعل.
الكلمات الرئيسية الصالحة هي:إلحاق ، استبدال ، [تخطي] واقتطاع.

نصائح أخرى

لا، هذه ليست طريقة ممكنة:

  • معظم الكائنات غير الجدولة موجودة بالفعل في مخططك.تحصل بالفعل على رسائل الخطأ هذه.الاستيراد لن يبحث عنه.
  • يمكنك تكوين كيفية عمل التصدير إذا كان جدول موجود بالفعل ولكن إذا كان هناك جدول تمت الإشارة إليه بواسطة جدول آخر ثم اقتطاع واستبدال لن يعمل.
  • حتى لو لم يكن هناك إشارة مفاتيح أجنبية إلى فهارس الطاولة سوف تبطئ الاستيراد بشكل كبير
  • قد تحدث الكثير من المشكلات الأخرى (بخصوص المشغلات، والأقسام، والمراجع إلى الجداول الأخرى وربما أكثر)

لذلك الطريقة المعقولة الوحيدة لمزامنة المخطط باستخدام Expdp / ImpDP هي إسقاط المخطط قبل الاستيراد.

إذا كنت لا ترغب في إسقاط المخطط لسبب ما ولكن استبدال بيانات الجداول هناك الكثير من العمليات الإضافية ضرورية.

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