الانتقال إلى المحتوى

سلسلة دروس ال Rman


الباشا

Recommended Posts

Recovery Manager (RMAN أداة أنشأتها اوركل ابتداءً من الإصدار 8 لتكون نقلة نوعية في مجال النسخ الاحتياطي والاسترجاع Backup & Restore & Recovery حيث وفرة هذه الأداة مجموعة من الخيارات لم تكن موجودة من قبل مما جعلها أفضل أداة توفرها اوركل في هذا المجال على الإطلاق.


لذا تنصح شركة اوركل باستخدام هذه الأداة وذلك لاحتوائها على مجموعة من الميزات والتي من أهمها :
1- مستوى أداء أفضل بالنسبة لعمليات النسخ الاحتياطي والاسترجاع مقارنة بالأدوات الأخرى.
2- تقوم بعمل فحص لكل الكتل منطقياً وفيزيائياً أثناء عمليات النسخ الاحتياطي والاسترجاع، ومن ثم اكتشاف الكتل الفاسدة.
3- توفير خيارات نسخ كلى وجزئي وتراكمي.
4- توفير خيارات أخرى كتحديد مدة عمل النسخ الاحتياطي وتحديد قنوات تعمل بالتوازي أثناء عمل النسخ الاحتياطي والاسترجاع Backup & Recovery وخيارات ضغط لتقليل حجم المخرجات.
5- إدارة جيدة لعمليات النسخ الاحتياطي والاسترجاع كما تقوم بإدارة جيدة أيضاً لمهام (Tasks) للنسخ الاحتياطي والاسترجاع.
6- إمكانية عمل نسخ احتياطي لكل من (Database,Tablespaces,Datafiles,Archivelog Files,Control Files,Spfile).
7- إمكانية تمرير النسخ الاحتياطي للDisks أو الTapes.
8- سرعة عالية إثناء عمل النسخ الاحتياطي والاسترجاع.
9- توفر طرق استعلام سهلة للوصول لجميع المعلومات المطلوبة عن عمليات النسخ الاحتياطي.
10- توفير إستراتيجية آلية لعمليات النسخ الاحتياطي مما يسهل من عمليات مدير قاعدة البيانات، وكذلك تسهل إدارة المساحات التخزينية على الديسك.


سنناقش في هذا الموضوع الخيارات التي توفرها هذه الأداة وكيف يستطيع مدير قاعدة البيانات تهيئتها؟ وما هي أنواع النسخ الاحتياطي والاسترجاع التي تدعمها؟؛ وكيف يستطيع مدير قاعدة البيانات مراقبة عمليات النسخ الاحتياطي من خلال هذه الأداة؟، وغيرها من المعلومات التي تتعلق بالRecovery Manager(RMAN).
باختصار سنناقش كل ما يتعلق بهذه الأداة

رابط هذا التعليق
شارك

  • الردود 42
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

  • الباشا

    23

  • mohamed76

    3

  • future programer

    2

  • عبداللطيف

    1


شكراً أخي عبد اللطيف



مكونات ال (RMAN)

1- RMAN Executable: وهو عبارة عن ملف تنفيذي يشبه ملف التصدير EXP.exe وأيضاً ملف الاستيراد IMP.exe وعند تشغيل هذا الملف تفتح لك نافذة عليها إشارة المحث RMAN> بحيث يقبل الأوامر التي تكتب عليه ويقوم بتحويلها إلى سلسلة خطوات يتم تنفيذها على قاعدة البيانات المستهدفة.
2- Target Database: قاعدة البيانات المستهدفة وهى قاعدة البيانات التي نريد عمل نسخ احتياطي لها بواسطة الRMAN.
3- RMAN Repository: يتم فيه حفظ جميع المعلومات عن عمليات النسخ الاحتياطي والاسترجاع وأيضاً معلومات عن قاعدة البيانات المستهدفة وهيكلتها وأيضاً يحفظ بيانات التهيئة للRMAN (RMAN Configuration Settings) ويتم حفظ الRMAN Repository دائماً في ملف التحكم في قاعدة البيانات المستهدفة Control File ولكن يجب الانتباه إلى أن مدة الاحتفاظ بمعلومات النسخ الاحتياطي في ملف التحكم تعتمد على المتغير CONTROL_FILE_RECORD_KEEP_TIME الذي يحوى قيمة تمثل عدد الأيام للاحتفاظ بمعلومات النسخ الاحتياطي قبل أن يتم استخدام نفس الحقول لكتابة معلومات جديدة عن النسخ الاحتياطي.
4- Recovery Catalog: لاحظ معي أن معلومات النسخ الاحتياطي التي يتم حفظها في ملف التحكم هي بيانات مؤقتة كما أنه لو فقدنا ملف التحكم في قاعدة البيانات المستهدفة نكون قد فقدنا هذه المعلومات لذا وفرت شركة اوركل خيار آخر للاحتفاظ بهذه المعلومات أي الاحتفاظ بالRMAN Repository في قاعدة بيانات أخرى تسمى ال Recovery Catalog، أيضاً يتم فيها حفظ RMAN SCRIPTS.
5- Flash Recovery Area: وهو عبارة عن مساحة على الديسك يتم التحكم فيها عن طريق الاوركل بحيث يتم فيها تخزين ملفات النسخ الاحتياطي ويتم إدارة هذه المساحة والتحكم فيها عن طريق الاوركل ويتم تحديد هذه المساحة بواسطة المتغير DB_RECOVERY_FILE_DEST وهو لتحديد المسار وأيضاً المتغير DB_RECOVERY_FILE_DEST_SIZE لتحديد حجم هذه المساحة، أما عملية إدارة هذه المساحة فتكون عن طريق الاوركل حيث يتم تحديد فترة الاحتفاظ بملفات النسخ الاحتياطي وأيضاً حذف الملفات القديمة المنتهية وزيادة حجم هذه المساحة إذا تطلب الأمر وغيرها من إجراءات لإدارة هذه المساحة يتم عن طريق الاوركل.
6- Enterprise Manager: كانت المشكلة سابقاً في كتابة الكود لعملية النسخ الاحتياطي والاسترجاع وإدارة الFlash Recovery Area، ولكن وفرة اوركل واجهة تعامل لحل هذه المشكلة وهى ال Enterprise Manager فتستطيع عمل جميع المهام دون كتابة أي كود.
7- Auxiliary Database: هي عبارة عن قاعدة بيانات يتم إنشاؤها بواسطة الRMAN وهى عبارة عن نسخة من قاعدة البيانات المستهدفة يتم إنشاؤها لعدة أغراض منها عمليات الاختبار إذ لا يمكن إجراء الاختبارات على قاعدة البيانات الأصلية، أيضاً في بعض الأحيان قد نحتاج إليها عند عمل Tablespace Point-in-Time Recovery وهى عملية إرجاع الTablespace إلى الوراء دون التأثير على قاعدة البيانات فيتم التعامل مع هذا الإجراء باعتبار ال Auxiliary Database كمخزن مؤقت أثناء عمل قاعدة البيانات المستهدفة، أيضاً يمكن أن نتعامل معها كStandby Database في حالة حدوث مشكلة في قاعدة البيانات المستهدفة يتم تحويل العمل إليها دون أن نفقد بيانات.
8- Channel: وهو عبارة عن جلسة عمل يتم من خلالها عمل النسخ الاحتياطي والاسترجاع، ويتم إنشاؤها يدوياً عند كتابة الكود أو ألياً عن طريق تهيئته الRMAN.
9- Media Management Library (MML): تستطيع الRMAN إرسال ملفات النسخ الاحتياطي (Backup) إلى الديسك أو الTape،
MML عبارة برنامج تستخدمه الRMAN لإرسال الملفات إلى الTape.


رابط هذا التعليق
شارك

خيارات النسخ الإحتياطى:-
توفر الRMAN مجموعة من الخيارات بالنسبة للنسخ الاحتياطي (Backup):
1- إستراتيجية النسخ الاحتياطي:-
1- Whole: وهى عمل نسخ احتياطي لجميع ملفات الData Files بالإضافة على الأقل على واحد من الControl File وذلك لأن جميع ملفات الControl Files في قاعدة البيانات هي طبق الأصل.
2- Partial: وهو عمل نسخ احتياطي لصفر أو أكثر لملفات الData Files أو صفر أو أكثر للTablespaces كما يمكن عمل نسخ احتياطي لملف الControl File أو تجاهله.

2- أنواع النسخ الاحتياطي:-
1- Full: وهو عمل نسخ لجميع كتل البيانات أثناء عمل النسخ الاحتياطي.
2- Incremental: وهو عمل نسخ لكتل البيانات التي تغيرت منذ بعض النسخ الاحتياطية.
عموماً اوركل 10g توفر نوعين من النسخ الاحتياطي التراكمي Incremental Backup.
1- Incremental Level0: وهو عبارة عن نسخة احتياطية أساسية تحوى جميع كتل قاعدة البيانات وهى تعتبر كFull Backup غير أنها تعتبر كنقطة أساسية يمكن الرجوع إليها عند عمل Incremental Level 1.
2- Incremental Level 1: وهى عبارة عن نسخة احتياطية لجميع كتل قاعدة البيانات التي تغيرت منذ آخر Incremental Level 0.



أنماط النسخ الاحتياطي:-
1- Offline: وهو عمل نسخ احتياطي لقاعدة البيانات بشرط أن تكون قاعدة البيانات غير مفتوحة أو بمعنى آخر يمكن عمل نسخ احتياطي لقاعدة البيانات في الوضع Mount وهنا نضمن الآتي
The SCN data file headers matches the SCN in the control files.
وهذا النوع يسمى أيضاً (Consistent or Cold).
2- Online: وهو عمل نسخ احتياطي أثناء عمل قاعدة البيانات ودون إغلاقها، ويسمى أيضاً (Inconsistent or Hot).

4- أشكال النسخ الاحتياطي:-
1- Image Copies: هي عبارة عن نسخة طبق الأصل للملفات وهى تشبه عملية نسخ الملفات عن طريق نظام التشغيل، هذا النوع من النسخ الاحتياطي يتم إرساله فقط إلى الديسك ولا يمكن إرساله إلى الTape، هذا النوع يسهل عملية الاسترجاع (Restore).
2- Backup Sets: وهى عمل نسخ احتياطي لواحد أو مجموعة من الData File أو ملفات الArchive log Files بحيث يتم تجاهل الكتل الفارغة وإمكانية عمل ضغط للكتل لتقليل حجم الملفات مما يجعل ملفات النسخ الاحتياطي اقل حجماً من النوع الأول Image Copies.

رابط هذا التعليق
شارك

طرق تنفيذ أوامر الRMAN:
يجب الإشارة إلى أن مستخدم قاعدة البيانات الذي يريد استخدام الRMAN يجب أن يملك الصلاحية SYSDBA وذلك لأنه قد يحتاج لإغلاق قاعدة وفتحها.
أما طرق تنفيذ أوامر الRMAN فهي:
1- Stand-alone: يتم فيه تنفيذ الأوامر بشكل منفرد في محرر الRMAN ودون بداية الكود بالكلمة RUN.
2- Job: يجب أن يتم تضمينه بين قوسين {} ويحب أن يبدأ بكلمة RUN ويتم تنفيذ الأوامر فيه علي شكل مجموعة.
كما يمكن حفظ الكود في شكل ملف File.rcv ويتم تنفيذه على محرر الRMAN.

C:\RMAN TARGET /	  @c:\backup.rcv

رابط هذا التعليق
شارك

تهيئة الRMAN
RMAN Configuration Setting:

في الحقيقة أن تهيئة خيارات الRMAN تساعد مدير قاعدة البيانات كثيراً في عمله، خصوصاً إذا كانت له إستراتيجية واضحة في العمل فيقوم مدير قاعدة البيانات بتهيئة الRMAN بناء على هذه الإستراتيجية التي أعدها مسبقاً، كما يجب الإشارة إلى أنه عند استخدام الRMAN دون تهيئتها تعمل في هذه الحالة على التهيئة الأصلية Default Setting.
بالطبع يمكن تهيئة الRMAN ولكن أيضا يمكن لمدير قاعدة البيانات تجاهل هذه التهيئة عن طريق انجاز مهامه يدوياً بكتابة كل ما يريده على محرر الRMAN حتى ولو اختلف كلياً عن الConfiguration Setting، إذاً يمكن القول أن عملية تهيئة الRMAN أمر مهم لمدير قاعدة البيانات كما يمكنه تجاهل هذه التهيئة متى شاء عن طريق إنجاز مهامه يدوياً.
يستطيع مدير قاعدة البيانات تهيئة الRMAN بحيث يقوم بتحدد نوع النسخ الإحتياطى (Backup Set or Copy) كذلك تحديد نوع الDevice هل Disk or Tape وأيضاً فترة الاحتفاظ بالنسخ الاحتياطي وغيرها من الخيارات التي سنتحدث عنها بالتفصيل.

RMAN>SHOW ALL



SHOW ALL هذا الامر يقوم بعرض خيارات تهيئة ال RMAN

رابط هذا التعليق
شارك

تهيئة الRetention Policy:
وهى لتحديد فترة الاحتفاظ بالنسخ الاحتياطية (Backup) قبل أن تصبح هذه النسخ في قائمة الملغيات (Obsolete) كما يمكن حذف هذه النسخ فيما بعد بواسطة الأمر Delete Obsolete، ويجب الإشارة إلى هناك نوعان لتهيئة فترة الاحتفاظ:-
1- تحديد فترة الاحتفاظ بالأيام

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS


تم تحديد فترة الاحتفاظ لمدة ثلاثة أيام يمكن مشاهدة التهيئة الجديدة لفترة الاحتفاظ بواسطة الأمر

RMAN> SHOW RETENTION POLICY


كما يمكن الرجوع للقيمة الأصلية بواسطة الأمر

RMAN> CONFIGURE RETENTION POLICY CLEAR




2- تحديد فترة الاحتفاظ بعدد النسخ:
القيمة الأصلية لهذا الخيار هي REDUNDANCY 1 أي أن الRMAN تحاول الاحتفاظ بنسخة احتياطية (Backup) واحدة لجميع ملفات الData Files و جميع ملفات الArchive Log Files وأيضاً الControl File سواء كان النسخ الاحتياطي من النوع (Image Copy or Backup set) .

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3




تهيئة الDefault Device Type:
وهى لتحديد ملفات النسخ الاحتياطي (Backup) هل سيتم تمريرها إلى الديسك (Disk) أو إلى (Tape Device) في الأصل سيتم تمرير ملفات النسخ الاحتياطي إلى الديسك.
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE
الآن سوف يتم تمرير ملفات النسخ الاحتياطي إلى (Tape Library) ما لم يتم تجاهل ذلك عن طريق تمرير النسخ الاحتياطي يدويا عن طريق محرر الRMAN.


تهيئة ال Device Type:
أي انه لحظت عمل النسخ الاحتياطي وإرساله إلى الديسك سوف يتم استخدام قناة أو جلسة عمل واحدة (Channel) لإرسال النسخ الاحتياطي كما سيتم عمل النسخ الاحتياطي على هيئة Backup Set وليس Image Copy، يمكن بالطبع تهيئة الDevice Type عند إرسال النسخ الاحتياطي للTape Library ، فلنفترض انك تريد عند إرسال النسخ الاحتياطي إلى الTape Library يتم استخدام قناتين تعملان على التوازي لنقل ملفات النسخ الاحتياطي ويكون نوع النسخ الاحتياطي Backup Set تذكر أنه لا يمكن إرسال النسخ الاحتياطي من نوع Image Copy إلى الTape Library.

RMAN> CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 2 BACKUP TYPE TO BACKUPSET




: Channel Allocation
كما ذكرنا سابقاً لابد من تخصيص قنوات Channel لإنجاز عمليات النسخ الاحتياطي والاسترجاع سواء كان ذلك يدوياً عن طريق الأمر Allocate Channel أو عن طريق تهيئة القناة بواسطة الأمر Configure Channel وأقصى عدد للChannels التي يمكن إن تعمل علي التوازي يرجع لنظام التشغيل وهناك العديد من الخيارات للتحكم في الChannel:
1- DURATION: للسيطرة على الوقت المستغرق لتنفيذ المهام عن طريق القناة ويتم تحديده بالساعات والدقائق وأيضاً يمكن أن يؤثر على سرعة تنفيذ العمليات وذلك باستخدام احد المفردات التالية (MINIMIZE TIME & MINIMIZE LOAD)، MINIMIZE TIME ويتم تحديده لضمان تنفيذ العمليات بأسرع ما يكون ولكن قد تتم العملية قبل انتهاء الوقت المحدد ويتم ذلك عادة عند إرسال النسخ الاحتياطية إلى الTape وذلك لأن من الأفضل إرسال البيانات إلى الشرائط بأسرع ما يمكن، MINIMIZE LOAD ويتم تحديده لمراقبة سرعة عمليات النسخ الاحتياطي وتقليل سرعته إذا اتضح انه سينتهي قبل الزمن المحدد ويتم تحديد هذا المتغير عادة عند إرسال ملفات النسخ الاحتياطي إلى الديسك وذلك لتقليل التأثير على المستخدمين نسبة لزيادة الضغط على الديسك.
2- FORMAT: لتحديد المسار واسم ملفات النسخ الاحتياطي.
3- MAXOPENFILES: لتحديد عدد الملفات التي تستطيع القناة فتحها في المرة الواحدة في الأصل 8.
4- MAXPIECESIZE: لتحديد حجم ملف النسخ الاحتياطي الذي تم إنشاؤه بواسطة القناة.

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK MAXOPENFILES 6 MAXPIECESIZE 2G




تهيئة ال CONTROLFILE AUTOBACKUP:
بمعنى هل نريد عمل نسخ احتياطي لملف الControl File وملف الSPFILE ألياً كلما قمنا بعملية نسخ احتياطي أم لا؟ في الأصل يأخذ هذا المتغير القيمة OFF بمعنى أن ملف الControl File لا يتم عمل نسخ احتياطي له ألياً عند إنجاز عمليات النسخ الاحتياطي.
ويمكن تهيئة هذا المتغير بحيث يأخذ القيمة ON وذلك لعمل نسخ احتياطي لملف الCONTROL FILE عند إجراء أي عملية نسخ احتياطي وقد يكون هذا الأمر أكثر أهمية عندما لا نستخدم الRecovery Catalog فحينها يتم حفظ معلومات النسخ الاحتياطي في ملف الControl File الأمر الذي يجعل عملية الحفاظ عليه أكثر أهمية.

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON




تهيئة ال CONTROLFILE AUTOBACKUP FORMAT:
لتحديد مسار واسم ملفات النسخ الاحتياطي الآلي لملفات الCONTROL FILES.

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'C:\%F'




تهيئة ال EXCLUDE:
في بعض الأحيان يكون لديك Tablespace في الوضع Read only أو في الوضع Offline أو حتى قد يكون في الوضع Online لكنه غير متحرك أي يحوى بيانات ثابتة في هذه الأحوال وغيرها قد لا نحتاج لعمل نسخ احتياطي لهذا الTablespace أثناء عمل النسخ الاحتياطي الكلى لقاعدة البيانات الأمر الذي يقلل لنا زمن وحجم ملفات النسخ الاحتياطي، فيتم تحديد قائمة الTablespace التي نريد تجاهلها أثناء عمل النسخ الاحتياطي.

RMAN> CONFIGURE EXCLUDE  FOR TABLESPACE USERS





تهيئة ال BACKUP OPTIMIZATION:
يأخذ هذا الخيار في الأصل القيمة OFF ويمكن تهيئته في الوضعON لتجاهل جميع الكائنات التي لم يتم تغيرها منذ آخر نسخ احتياطي.

RMAN> CONFIGURE BACKUP OPTIMIZATION ON





تهيئة ال DATAFILE BACKUP COPIES & ARCHIVELOG BACKUP COPIES:
لتحديد عدد النسخ التي يتم إنشاؤها عند عمل نسخ احتياطي لملفات الData Files أو ملفات الArchive Log Files

RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1


RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1


تم تحديد عدد نسخة واحدة للنسخ الاحتياطي لكل من ملفات الData Files و الArchive Log Files.


تهيئة ال MAXSETSIZE:
وهو اكبر مقاس للنسخ الاحتياطية من النوع Backup Set، وفى الأصل يأخذ هذا الخيار القيمة Unlimited.

CONFIGURE MAXSETSIZE TO 4G

رابط هذا التعليق
شارك

والحقيقة أن الRMAN توفر عمل نسخ احتياطي لكل من ال(Database & Tablespaces & Data Files & Control Files & Archive Log Files) وفى الأصل يتم تخزين ملفات النسخ الاحتياطي في الFlash Recovery Area ما لم يتم تحديد مكان تخزين آخر لملفات النسخ الاحتياطي بواسطة المتغير Format لتحديد المسار واسم ملف النسخ الاحتياطي، ولكن تفضل شركة اوركل استخدام المساحة Flash Recovery Area لتخزين ملفات النسخ الاحتياطي وذلك لأن إدارتها تتم بواسطة الاوركل ويتم تحديد مسار هذه المساحة بواسطة المتغير DB_RECOVERY_FILE_DEST ويتم تحديد مساحتها بواسطة المتغير DB_RECOVERY_FILE_DEST_SIZE

وسنتحدث هنا عن النسخ الاحتياطي بواسطة الRMAN ولكن يجب التذكير أن الRMAN لا تدعم النسخ الاحتياطي لملفات الOnline Redo Log Files وإنما تدعم النسخ الاحتياطي للArchive Log Files. كما يجب التذكير أيضاً أنه بإمكانك استخدام الRMAN لعمل النسخ الاحتياطي لقاعدة البيانات حتى ولو كانت قاعدة البيانات تعمل في النمط NOARCHIVELOG.

رابط هذا التعليق
شارك

Data Files Backup:
تستطيع عن طريق الRMAN عمل نسخ احتياطي لملفات الData Files بشرط أن تكون قاعدة البيانات في الوضع Open or Mount، وهناك عدد من الخيارات لعمل نسخ احتياطي (Backup) للData Files:

1- Data Files Backup as Backup Set

RMAN> BACKUP AS BACKUPSET DATAFILE 1,2 TAG ‘FILE(1,2)’



لاحظ لقد قمت بعمل نسخة احتياطية لكل من(Datafile(1&2 والرقم 1 و 2 عبارة عن الFile Id، بالطبع يمكن كتابة اسم الData File بدلاً من كتابة الFile_Id، يمكنك معرفة الFile_Id عن طريق الاستعلام التالي

SELECT FILE_NAME,FILE_ID FROM DBA_DATA_FILES



كما قمنا بعمل تسمية منطقية لهذا النسخ الاحتياطي بواسطة المتغير TAG وسميناه( FILE(1,2، كما يمكنك ملاحظة أننا لم نقم بإنشاء قنوات للنسخ الاحتياطي يدوياً Channels وإنما قامت الRMAN باستخدام التهيئة الآلية Configuration Setting .
عموماً يمكننا التأكد من عملية نجاح عملية النسخ الاحتياطي بواسطة الأمر LIST حيث يقوم بعرض تفاصيل النسخ الاحتياطية، فإذا كتبنا LIST BACKUPSET يقوم هذا الأمر بعرض جميع تفاصيل النسخ الاحتياطية من النوع Backup Set، أما الأمر LIST COPY لعرض تفاصيل النسخ الاحتياطية من النوع IMAGE COPY وغيره من الأوامر التي سنتحدث عنها لاحقاً، ما يلزمنا الآن التأكد من النسخة الاحتياطية التي قمنا بها الآن ولاحظ أن اسمها المنطقي (FILE(1,2 فيمكن عرض تفاصيلها بواسطة الأمر

"(LIST BACKUPSET TAG “FILE(!,2
أما إذا لم تضع اسم منطقي للنسخة الاحتياطية فان الRMAN ستضع له اسم منطقي ألياً، كما يمكنك عرض معلومات النسخة الاحتياطية السابقة بواسطة الأمر
LIST BACKUP OF DATAFILE 1,2

RMAN>LIST BACKUPSET TAG “FILE(1,2)”






2- Data Files Backup as Image Copy

RMAN> RUN {
ALLOCATE CHANNEL D1 DEVICE TYPE DISK;
ALLOCATE CHANNEL D2 DEVICE TYPE DISK;
BACKUP AS COPY DATAFILE 3,4
(DATAFILE 3 CHANNEL D1)
(DATAFILE 4 CHANNEL D2)
; }



قمنا بعمل نسخة احتياطية للData Files(3,4) من النوع Image Copy وقد قمنا بإنشاء قناتين Channels يدوياً وقمنا بإرسال ملفات النسخ الاحتياطي إلى الديسك.
يمكن التأكد من نجاح عملية النسخ الاحتياطي بواسطة الأمر

RMAN>LIST COPY OF DATAFILE 3,4

رابط هذا التعليق
شارك

Tablespaces Backup:

RMAN> RUN{
ALLOCATE CHANNEL D1 DEVICE TYPE DISK MAXPIECESIZE 1G;
BACKUP AS COMPRESSED BACKUPSET
TABLESPACE USERS;
}



قمنا بعمل نسخة احتياطية للUSERS TABLESPACE من النوع Compressed Backupset وهو عبارة عن نسخة مضغوطة من النوع Backupset، وقد قمنا بإنشاء الChannel يدوياً وحددنا أن اكبر نسخة من قطع النسخ الاحتياطي يجب أن لا تتجاوز 1 GB.
عموماً خيار الCompressed Backupset هو خيار متاح لنسخ جميع الملفات التي تدعمها الRMAN وميزة هذا الخيار أنه يقلل من حجم ملفات النسخ الاحتياطي.
يمكن بالطبع عمل نسخة احتياطية للTablespace من النوع Image Copy

RMAN>BACKUP AS COPY TABLESPACE USERS



يمكن التأكد من نجاح عملية النسخ الاحتياطي أعلاه بواسطة الأمر
LIST BACKUPSET OF TABLESPACE USERS
وذلك لعرض معلومات النسخ الاحتياطي من النوع Backupset Users Tablespace
LIST COPY OF TABLESPACE USERS
لعرض معلومات النسخ الاحتياطي من النوع Copy Users Tablespace Image

رابط هذا التعليق
شارك

Archived Redo Log Files Backup:

RMAN> RUN{
ALLOCATE CHANNEL D1 DEVICE TYPE DISK;
ALLOCATE CHANNEL D2 DEVICE TYPE DISK; 
ALLOCATE CHANNEL D3 DEVICE TYPE DISK;
BACKUP AS copy archivelog all DELETE ALL INPUT;
}



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

RMAN> RUN{
ALLOCATE CHANNEL D1 DEVICE TYPE DISK;
ALLOCATE CHANNEL D2 DEVICE TYPE DISK; 
ALLOCATE CHANNEL D3 DEVICE TYPE DISK;
BACKUP AS copy  Archivelog until sequence 130;
}




يمكنك القيام بعرض معلومات عن النسخ الاحتياطية لملفات الأرشيف بواسطة الأمر
LIST COPY OF ARCHIVELOG ALL
وذلك لعرض معلومات عن جميع ملفات النسخ الاحتياطي من النوع Image Copy لملفات الأرشيف.
LIST BACKUP OF ARCHIVELOG ALL
لعرض معلومات عن جميع ملفات النسخ الاحتياطي من النوع Backupset لملفات الأرشيف.
كما يمكنك القيام بعرض معلومات عن النسخ الاحتياطية لبعض ملفات الأرشيف

RMAN>LIST COPY OF ARCHIVELOG  UNTIL SEQUENCE 130

رابط هذا التعليق
شارك

Control File Backup:

هناك عدة طرق لعمل نسخ احتياطي للControl File:-
1- عن طريق الأمر CURRENT CONTROL FILE.

RMAN> BACKUP AS COPY CURRENT CONTROLFILE



أيضاً يمكن عمل نسخ احتياطي للControl File من النوع Backupset وأيضا يمكن ضغطه بواسطة الأمر Compressed Backupset.

2- عن طريق تهيئة المتغير CONTROLFILE AUTOBACKUP.

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON



عندما يأخذ المتغير CONTROLFILE AUTOBACKUP القيمة ON فهذا يعنى أنه كلما قمنا بعملية نسخ احتياطي فإنه آلياً سيتم عمل نسخ احتياطي لملف الControl File.
كما يمكن عمل استعلام عن النسخ الاحتياطي للControl file بواسطة الأمر
LIST BACKUP OF CONTROLFILE

رابط هذا التعليق
شارك

Database Backup:
1- Offline Backup:
تستطيع عمل نسخة احتياطية لقاعدة البيانات عن طريق الRMAN في الوضع MOUNT وهو ما يسمى بالOffline Backup، فمثلاً إذا كانت قاعدة البيانات تعمل في النمط NOARCHIVELOG فحينها لابد من عمل نسخ احتياطي لقاعدة البيانات بعد إغلاقها (Offline Backup) ، وأيضاً لابد من الإشارة إلى أن قاعدة البيانات مادام أنها في النمط NOARCHIVELOG فلابد من عمل نسخ احتياطي لجميع قاعدة البيانات ولابد من عمل النسخ الاحتياطي بعد إغلاقها (Offline Backup).

RMAN> RUN {
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALLOCATE CHANNEL D1 TYPE DISK;
ALLOCATE CHANNEL D2 TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET DATABASE FILESPERSET 2;
ALTER DATABASE OPEN;
}


هكذا قمنا بعمل نسخة احتياطية لقاعدة البيانات بعد إغلاقها، ويجب التذكير بأن ملفات قاعدة البيانات سوف يتم إرسالها إلى الديسك مع العلم بأنك تستطيع إرسال الملفات إلى الTape
ALLOCATE CHANNEL T1 TYPE SBT.
بالطبع عند عمل نسخة احتياطية لقاعدة البيانات فهذا يعنى بأننا قمنا بعمل نسخة احتياطية لجميع الData Files أو إن شئت فقل جميع ال Tablespaces ماعدا (UNDO & Temporary Tablespace) ما دام أننا لم نقم باستثناء بعض الTablespaces، ويمكنك استثناء بعض الTablespaces بواسطة المتغير

 RMAN> CONFIGURE EXCLUDE FOR TABLESPACE USERS



2- Online Backup:
عمل نسخة احتياطية لقاعدة البيانات وهى مفتوحة، وهنا لابد أن تكون قاعدة البيانات في الوضع ARCHIVELOG.

RMAN>RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
ALLOCATE CHANNEL D2 TYPE DISK;
ALLOCATE CHANNEL D3 TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET 
DATABASE  INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG;
}



هكذا قمنا بعمل Online Full Backup لقاعدة البيانات وذلك باستخدام الخيار Compressed أي قمنا بضغط ملفات النسخ الاحتياطي ولاحظ أننا أضفنا إلى قاعدة البيانات ملفات الأرشيف وملف الControl File، يمكننا التأكد من نجاح عملية النسخ الاحتياطي بواسطة الأمر.

 RMAN> LIST BACKUP OF DATABASE

رابط هذا التعليق
شارك

Incremental Backups:
ذكرت سابقاً أن الRMAN توفر خيارات النسخ الاحتياطية التكاملية والتراكمية (Full & Incremental) ، نستطيع من خلالها عمل نسخ احتياطية للكتل التي تم تغيرها فقط خلال آخر نسخ احتياطي.
1- 0 Incremental Backup Level
Level 0 عبارة عن نسخة احتياطية تكاملية تحوى جميع الكتل والفرق بينها والFull Backup هو أن هذه النسخ تستطيع أن تكون أساس للكتل التكاملية الأخرى، أما من حيث التطبيق فإن الفرق أن الFull Backup تستطيع إنجازه فقط بكتابة الأمر Backup Database، أما النسخة الIncremental Level 0 فنحتاج إلى تحديد ذلك بالأمر Backup Incremental Level 0 Database

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
ALLOCATE CHANNEL D2 TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET
INCREMENTAL LEVEL 0 DATABASE;
}



الآن وضعنا نسخة تكاملية تصلح لأن تكون الأساس للنسخ التراكمية الأخرى، كما يمكن الاستعلام عن هذه النسخة بالأمر LIST BACKUP OF DATABASE.

2- Cumulative Level 1:
بمعنى عمل نسخة احتياطية لقاعدة البيانات بحيث يتم عمل نسخ احتياطي فقط للكتل التي تم تغييرها خلال آخر Level 0 Incremental Backup .
لا شك أن هذه العملية ستقلل عدد الكتل التي سنقوم بعمل نسخ احتياطي لها وهو أمر في غاية الروعة إذ ليس من المصلحة عمل نسخ احتياطي لجميع كتل قاعدة البيانات يومياً فمن الأفضل وضع نسخة تكاملية ومن ثم القيام بعمل نسخ احتياطية تزايدية للكتل التي تتغير خلال آخر نسخ احتياطي من النوع Level 0 ، لكن الم تلاحظ أنه ما زالت لدينا مشكلة في الزمن إذ أن الRMAN حتى تعرف الكتل (Blocks) التي تغيرت منذ آخر نسخة احتياطية من النوع Level 0 فإن ذلك يتطلب المرور على جميع الكتل؛ لذا لجأت شركة اوركل لحل هذه المشكلة بواسطة إنشاء ملف يسمى Change Tracking File يحوى العنوانين الفيزيائية للكتل التي تغيرت منذ آخر نسخ احتياطي.
وهذا ما يسمى بالBlock Change Tracking، فعندما يتم تهيئة قاعدة البيانات في هذا النمط يتم إنشاء Background Process يسمى Change Tracking Writer (CTWR) يقوم بكتابة عناوين الكتل التي تم تغييرها في ملف يسمى Change Tracking File يتم تحديده بواسطة المتغير DB_CREATE_FILE_DEST أو عن طريق تحديد هذا الملف يدوياً عند تهيئة قاعدة البيانات في هذا النمط.

 SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'C:\oracle\product\10.1.0\oradata\orcl\TRACHING.DBF'



الآن قاعدة البيانات تعمل في النمط Block Change Tracking بالطبع يمكن إلغاء هذا النمط بواسطة الأمر
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE


هكذا قمنا بعمل نسخ تزايدية من النوع Cumulative، بالطبع لا تستطيع القيام بهذه النسخة إذا لم يكن لديك نسخة احتياطية من النوع Level 0.
هذه النسخة التي قمت بعملها تحوى فقط الكتل التي تغيرت منذ آخر نسخة احتياطية من النوع الLevel 0 ويمكن الاستعلام عنها أيضا بواسطة الأمر
LIST BACKUP OF DATABASE


3- Differential Level 1:
وهو عمل نسخة احتياطية تزايدية لقاعدة البيانات بحيث تحوى فقط الكتل التي تغيرت منذ أخر نسخة احتياطية سواء كان تلك النسخة الاحتياطية (Level 0 or Level 1) ، لاحظ الفرق بين هذا النوع والذي قبله، Cumulative يقوم بعمل نسخ الكتل التي تغير منذ آخر نسخة احتياطية من النوع Level 0 فقط، كما يجب الإشارة إلى أن هذا النوع هو الأصل عند عمل نسخة احتياطية من النوع Level 1 لذا لا نحتاج إلى كتابة كلمة Differential عند عمل النسخة الاحتياطية.

RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE



عموماً أنت يمكنك كتابة الأوامر على محرر الRMAN مباشرة كما يمكنك كذلك كتابة ذلك في ملف FILE.RCV ومن ثم تنفيذه RMAN>@C:\FILE.RCV

رابط هذا التعليق
شارك

Complete Recovery:
حدوث عطل في قاعدة البيانات هو أمر وارد لذا وجب على مدير قاعدة البيانات وضع الترتيبات اللازمة حتى لا يفقد جزء من قاعدة بياناته، ولقد تحدثنا في الفصل السابق عن الComplete Recovery وهو إرجاع قاعدة البيانات إلى ما قبل حدوث الفشل دون أن نفقد جزء من البيانات.

Data File Recovery:
كما ذكرت سابقاً هناك نوعان من الData Files:
1- Loss of a Non-SYSTEM Data File:
وهو أي Data Files لا ينتمي لل (System or Undo Tablespace) ، ففي هذه الحالة قد لا نحتاج إلى إغلاق قاعدة البيانات لإنجاز عملية الاسترجاع.

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
RESTORE DATAFILE 4;
RECOVER DATAFILE 4;
}


يمكن كذلك إعادة تسمية الData File أثناء عملية الاسترجاع وذلك باستخدام الأمر SET NEWNAME لتغيير اسم أو مكان الData File والأمر SWITCH لتعديل هذا التغيير في الControl File

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
SET NEWNAME FOR DATAFILE 4 TO 'C:\oracle\product\10.1.0\oradata\orcl\USERS.DB
F';
RESTORE DATAFILE 4;
SWITCH DATAFILE 4;
RECOVER DATAFILE 4;
}




2- Loss of a SYSTEM Data File:
ونقصد به هنا أي Data Files ينتمي لل(System or Undo Tablespace) ، وبالطبع لا نستطيع عمل استرجاع للSystem Data File دون إغلاق قاعدة البيانات وذلك لأن قاعدة البيانات لا تعمل إذا حدثت مشكلة في Datafile System.

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
SHUTDOWN ABORT;
STARTUP MOUNT;
RESTORE DATAFILE 2;
RECOVER DATAFILE 2;
SQL 'ALTER DATABASE OPEN';
}



ويمكن هنا أيضاً إعادة تسمية ملفات الData Files أثناء عملية الاسترجاع بواسطة الأمر SET NEWNAME والأمر SWITCH.

رابط هذا التعليق
شارك

Tablespace Recovery:
ويمكن أن نقول هنا ما قلناه في موضوع الData Files من أنه إذا فقدنا الSystem or Undo Tablespace لابد من القيام بعملية الاسترجاع في الوضع MOUNT.
أما غيرهما من الTablespaces فيمكن أن نقوم بعملية الاسترجاع دون إغلاق قاعدة البيانات ولكن بعد وضع الTablespace فى الوضع Offline.

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
SQL 'ALTER TABLESPACE USERS OFFLINE';
RESTORE TABLESPACE USERS;
RECOVER TABLESPACE USERS;
SQL 'ALTER TABLESPACE USERS ONLINE';
}

رابط هذا التعليق
شارك

السلام عليكم

ماشاء الله المجهود كبير والمعلومات وفيرة جدا
جزاك الله خيرا بكل حرف كتبته

مارأيك بعد أن تنهي هذه السلسة الجميلة يتم وضعها في ملف pdf ويكون مرجع ويضاف الى ابداعاتك

وفقك الله وجزاك كل الخير

رابط هذا التعليق
شارك

Database Recovery:
يمكن عن طريق الRMAN عمل استرجاع لقاعدة البيانات، واليك الخطوات:
1- فتح قاعدة البيانات فى الوضع MOUNT.

RMAN> STARTUP MOUNT



2- عمل RESTORE لقاعدة البيانات.

RMAN> RESTORE DATABASE



3- عمل RECOVERY لقاعدة البيانات.

RMAN> RECOVER DATABASE


لاحظ أثناء عملية الRESTORE وعملية الRECOVERY تم تجاهل الDATA FILE 6 وذلك لأنه في الوضع OFFLINE.

4- فتح قاعدة البيانات

RMAN> ALTER DATABASE OPEN

رابط هذا التعليق
شارك

Incomplete Recovery:
يسعى مدير قاعدة البيانات جاهداً إذا حدث عطل في قاعدة البيانات لإرجاعها إلى ما قبل حدوث العطل ودون أن يفقد جزء من البيانات وهو ما يسمى بالComplete Recovery، لكن في بعض الأحيان يكون من المتعذر إرجاع قاعدة البيانات دون فقد جزء من البيانات وذلك لأسباب قد يكون منها عدم توفر ملفات الأرشيف التي نحتاجها في عملية الRecovery أو لتلف ملف الOnline Redo Log الذي لم تتم أرشفته أو أحياناً لفقدان جميع ملفات الControl Files، وهذا ما يسمى بالIncomplete Recovery.
يمكن القول بأن عملية الاسترجاع بواسطة الRMAN أسهل بكثير من الUser-Managed Backups.
وعموماً يمكن تلخيص خطوات عملية الIncomplete Recovery بالاتي:-
1- فتح قاعدة البيانات في الوضع MOUNT.
2- عمل RESTORE لجميع ملفات الDATA FILES وأحياناً ملف الCONTROL FILE.
3- عمل RECOVER لقاعدة البيانات (UNTIL TIME OR SEQUENCE OR SCN).
4- فتح قاعدة البيانات في الوضع RESETLOGS.


UNTIL TIME:
هذا الخيار متاح لتطبيق ملفات الأرشيف والRedo Log لإرجاع قاعدة البيانات إلى وقت معين، وهذا الخيار يستخدم عادة في حالة حدوث خطأ من المستخدمين فنحتاج لإرجاع قاعدة البيانات إلى ما قبل حدوث الخطأ.

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
ALLOCATE CHANNEL D2 TYPE DISK;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
SQL "ALTER SESSION SET NLS_DATE_FORMAT=''DD-MM-YYYY HH24:MI:SS''";
SET UNTIL TIME "27-01-2009 11:00:00";
RESTORE DATABASE;
RECOVER DATABASE;
}


يجب التنبيه إلى ضرورة وضع FULL BACKUP بعد فتح قاعدة البيانات في الوضع RESETLOGS.


UNTIL SEQUENCE:
في بعض الأحيان قد تحتاج لعمل استرجاع لقاعدة البيانات بسبب مشكلة ما، ولكن اكتشفت أن بعض ملفات الأرشيف Archive Log File قد فقدت، ولنفترض أنك قد فقدتArchive Log File Sequence 15، ففي مثل هذه الحالة نستطيع أثناء عمل الRecovery تطبيق ملفات الأرشيف فقط حتى Sequence 14

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
ALLOCATE CHANNEL D2 TYPE DISK;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
SET UNTIL SEQUENCE 15 THREAD 1;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
}



يجب التنبيه إلى انه سوف يتم تطبيق ملفات الأرشيف حتى Sequence 14ولا يتم تضمين ملف الأرشيف Sequence 15.
Thread: دائماً يأخذ القيمة 1 مادام أننا نعمل في بيئة Single Instance ولكن عندما يكون لدى عدد من الInstances فإن كل Instance تكون لديها رقم Thread خاص بها، لكن عموماً حتى وأنا اعمل على بيئة Single Instance لابد من كتابة Thread 1 عند عمل Recover until Sequence.



UNTIL SCN:
توفر الRMAN خيار الاسترجاع إلى System Change Number(SCN) وإن كان من غير المعتاد استخدام هذا النوع عند الاسترجاع لأنه في العادة أنت لا تدرى ما هو الSCN عند حدوث المشكلة.

RMAN> RUN{
ALLOCATE CHANNEL D1 TYPE DISK;
ALLOCATE CHANNEL D2 TYPE DISK;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
SET UNTIL SCN 2621578;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
}

رابط هذا التعليق
شارك

شرح رائع ، وجميل ومتمكن
ما رأيك اخي ان نقوم بعمله على شكل ملف PDF حتى يستفيد الكل منه بطريقة منسقة ومرتبة ونجعله كمرجع في النسخ الاحتياطي باستخدام RMAN
علما ان هذا مجرد اقتراح فقط لاغير وشكرا على المجهود الجميل

رابط هذا التعليق
شارك

RESTORE CONTROLFILE:
لعمل RESTORE CONTROLFILE يجب أن تكون قاعدة البيانات في الوضع NOMOUNT.
لذا إذا فقدنا جميع ملفات قاعدة البيانات بما في ذلك ملفات الCONTROL FILE فإن الخطوة الأولى نقوم بعمل RESTORE CONTROLFILE في الوضع NOMOUNT ومن ثم نقوم بعمل RESTORE AND RECOVER DATABASE بعدما نفتح قاعدة البيانات في الوضع MOUNT.

RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP




لذا أنصحك قبل أن تقوم بعمل نسخ احتياطي لقاعدة البيانات أن تقوم بتهيئة الCONTROLFILE AUTOBACKUP وذلك كالتالي
CONFIGURE CONTROLFILE AUTOBACKUP ON

RESTORE SPFILE:

RMAN> RESTORE SPFILE TO ‘C:\oracle\product\10.1.0\db_1\database\TEST.ORA’ FROM AUTOBACKUP

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية