-
توفر Oracle أداتين imp.exe وexp.exe لاستيراد البيانات وتصديرها على التوالي. توجد هاتان الأداتان في دليل Oracle_home/bin.
تصدير البيانات
1 قم بتصدير قاعدة البيانات ATSTestDB بالكامل مع نظام اسم المستخدم وكلمة المرور 123456 إلى c:export.dmp
exp system/123456@ATSTestDB file=c:export.dmp full=y
من بينها، ATSTestDB هو اسم قاعدة البيانات، والنظام هو الحساب في قاعدة البيانات، و123456 هي كلمة المرور.
2 تصدير جميع الموارد ذات الصلة بمستخدم النظام ومستخدم النظام في قاعدة البيانات (الجداول، والإجراءات المخزنة، والأساليب، وطرق العرض، وما إلى ذلك)
exp system/123456@ATSTestDB file= c:export.dmpowner=(system,sys)
3 قم بتصدير الجداول sys.table1 وowbsys.table2 في قاعدة البيانات
ملف exp system/123456@ATSTestDB = c:export.dmp الجداول=(sys.table1, owbsys.table2)
لاحظ أنك بحاجة إلى إضافة اسم المخطط للجدول، وإذا لم يكن الأمر كذلك، فسيكون افتراضيًا لجدول المستخدم المتصل حاليًا، ويجب أن يكون للحساب الذي تتصل به أذونات في الجدول المقابل.
4 قم بتصدير البيانات التي يبدأ عنوان حقلها بـ "GangGe" في الجدول 1 في قاعدة البيانات
exp system/123456@ATSTestDB file= c:export.dmp table=(table1) query=" حيث العنوان مثل 'GangGe%'"
يتم استخدام الشرطة المائلة "" متبوعة بنقطتين للهروب من نقطتي الحرف " " "، لأنها متبوعة ببيان استعلام شرطي. يمكن تحديد معلمة استعلام واحدة فقط. إذا كان الاستعلام مخصصًا لجداول متعددة، فبالمثل ، لا يوجد سوى جدول واحد، أو جداول متعددة، ويمكن تشغيل الشروط في الاستعلام على هذه الجداول، وإلا فسيتعين عليك كتابة عدد قليل من عبارات EXP.
بعد التصدير، قد تجد أن البيانات كبيرة نسبيًا. يمكننا استخدام بعض أدوات الضغط لإعادة ضغط البيانات، مثل winzip وwinrar و7zip وغيرها من أدوات الطرف الثالث. وبالمثل، يدعم exp معلمة للمستخدمين لضغط البيانات مباشرة: ضغط = y. يمكن إضافة هذه المعلمة مباشرة إلى نهاية الأمر لضغط البيانات أثناء التصدير.
استيراد البيانات
نحن نعرف كيفية استخراج البيانات، لذلك عند الاستعادة، نحتاج إلى استخدام الأمر imp لتحميل البيانات المصدرة.
1 قم بتحميل بيانات c:export.dmp إلى ATSTestDB
imp system/123456@ATSTestDB file=c:export.dmp
حسنًا، عند استيراد البيانات، قد يتم الإبلاغ عن خطأ. لماذا؟ هناك سببان رئيسيان:
أ. الكائنات المستوردة (الجداول وطرق العرض والأساليب وما إلى ذلك) لا تنتمي في الأصل إلى المستخدم المتصل حاليًا.
ب. الكائن المستورد موجود بالفعل ضمن المستخدم المحدد لقاعدة البيانات
ج. المستخدم الأصلي للكائن المستورد لم يعد موجودًا في قاعدة البيانات هذه.
يتم استيراد كافة الكائنات إلى الحساب المحدد:
Imp system/123456@ATSTestDB file=c:export.dmp fromuser=sys touser=system
من بينها، fromuser=sys هو المالك الأصلي للكائن في ملف .dmp، وtouser=system هو المالك الجديد للكائن المستورد.
تجاهل/إدراج البيانات
Imp system/123456@ATSTestDB file=c:export.dmp تجاهل=y
من بينها، يخبرign=y imp.exe بإدراج البيانات مباشرة في الكائن المقابل (وإذا كانت هناك كائنات أخرى في الكائن المستورد، مثل القيود والفهارس وما إلى ذلك، فسيتم إنشاؤها بعد إدراج البيانات).
2 قم بتحميل الجداول المحددة table1, table2
imp system/123456@ATSTestDB file=C:export.dmp الجداول=(table1,table2)
3 تجاهل قيود التحميل
في بعض الأحيان عند استيراد البيانات، لا نحتاج إلى استيراد قيودها، مثل بعض قيود المفاتيح الخارجية وما إلى ذلك، يمكننا إضافة قيود المعلمة=N
imp system/123456@ATSTestDB file=C:export.dmp الجداول=(table1,table2) القيود=N
4 لا تقم بتحميل الفهارس (مثل الفهارس الفريدة)
imp system/123456@ATSTestDB file=C:export.dmp الجداول=(table1,table2) الفهارس=N
5 قم بتحميل البنية فقط، وليس البيانات
إذا كنت تريد فقط تحديد بنية الجدول (القيود والمشغلات)، ولا تحتاج إلى البيانات الموجودة بداخله، فيمكنك إضافة المعلمة صفوف=N
imp system/123456@ATSTestDB file=C:export.dmp الجداول=(table1,table2) الصفوف=N
بالنسبة للعملية المذكورة أعلاه، فإن نظام الكائنات لعملية تسجيل الدخول هو المسؤول. إذا لم يكن مسؤولاً، ولكنه مستخدم عادي، فيجب أن يكون لهذا المستخدم الحق في إنشاء الكائنات وحذفها وجهات النظر والأساليب والإجراءات المخزنة وما إلى ذلك. لماذا تشمل كلمة "ربما"؟ لأن هذا يعتمد على ما إذا كانت أنواع الكائنات ذات الصلة متضمنة عند الاستيراد والتصدير.
في هذه المرحلة، هل أتقنت أوامر استيراد وتصدير بيانات Oracle البسيطة المذكورة أعلاه؟ أعتقد أن هذا يكفي.