دروس ال Rman

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).
باختصار سنناقش كل ما يتعلق بهذه الأداة



    مكونات ال (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 ويتم تنفيذه على محرر الRMA

    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

          تعليقات