بسم الله الرحمن الرحيم
Import/Export utilities (الاستيرادالتصدير)
**مقدمة:
في البداية يجب أن نفرق بين نوعين من الbackup و هما:
-Physical backups: و التي تقوم بأخد نسخ فيزيائية للملفات المكونة لقاعدة البيانات.و يتم ذلك باستخدام أوامر معينة تبعاً للحالة التي تكون فيها قاعدة البيانات، أو باستخدام RMAN(Recovery Manager) الذي سهل هذه المهمة على مدير قاعدة البيانات و جعلها أكثر فعالية.
-Logical backups: و هو صلب موضوعنا ! يمكننا من اسمه أن نستنتج ما يقوم بحفظه. هذا النوع يقوم بأخذ نسخة احتياطية للكائنات (schema objects). يتم استخدام الاستيرادالتصدير لهذا الأمر. الأمر Export (التصدير) يقوم بأخذ النسخة الاحتياطية(backup) لما تحدده ، و يحفظه ضمن ملف (.dmp) ،بينما يقوم الأمرImport (الاستيراد)بعمل restore لهذه الكائنات الى قاعدة البيانات.
**مميزات الاستيرادالتصدير :
- تعليمة Export تقوم بفحص الdata blocks للنسخ التي تقوم بتكوينها.
- يمكنك أن تستخدم Export لحفظ قسم من الجدول و ذلك عند كتابة الاستعلام الذي تريده.
- الملفات الناتجة (.dmp) يمكنك استخدامها على أي platform دون أي مشكلة.
- تعتبر من أفضل الوسائل المستخدمة عند الترقية لاصدارات جديدة من اوراكل.
- تستخدم أيضاً لنقل الجداول من مستخدم لآخر أو من قاعدة بيانات لأخرى.
- يمكن للمطورين استخدام هذه الطرق لحفظ جداولهم التي يقومون بإجراء التجارب عليها.
**سلبيات الاستيرادالتصدير:
- بطيئة بالمقارنة مع ال Physical backups.
- أي تغيير يطرأ على الكائن بعد اجراء Export لن يكون مخزناً في الملفات الناتجة(أمر طبيعي).
*ملاحظة: للقيام بذلك يجب أن تمتلك الroles التالية:
-EXP_FULL_DATABASE
-IMP_FULL_DATABASE
---------** أنواع الاستيرادالتصدير **---------
من المهم أن نفهم جيداً الأنواع التالية من الاستيرادالتصدير حتى لا نضيع عندما يأتي السؤال( ما الذي سأخزنه بالضبط؟)....توجد لدينا أربعة مستويات و سأقوم بشرح عمليتي الاستيرادالتصدير لكل مستوى مع أمثلة ، عساها أن تكون واضحة، و لنفترض من الآن أن الحساب المستخدم هو system ، و الملف الناتج باسم arabteam.dmp ،
أما الملف الخاص بتسجيل أي ملاحظات أو أخطاء قد تحصل أثناء الاستيرادالتصدير هو oralog.log ، أما المستخدم الذي سنصدر جداوله فهو صاحبنا المسكين scott، و أما الاستيراد فهو للمستخدم salah
1- مستوى الجدول(Table mode) :
يتم تحديد الجداول التي تريد تصديرها باستخدام البارامتر TABLES .
مثال: لتصدير جدولي emp,dept بكل سجلاتهما :
C:> EXP USERID=system/manager FILE=arabteam.dmp LOG=oralog.log TABLES=scott.emp,scott.dept ROWS=y
الآن نقوم باستيراد جدول منهما لحساب salah و ليكن emp :
C:> IMP USERID=system/manager FILE=arabteam.dmp LOG=oralog.log TABLES= emp FROMUSER=scott TOUSER=salah
يتبع ان شاء الله...(f)