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

سلسلة حلقات لتعلم النسخ الاحتياطي باستخدام RMAN


eng_mcsd

Recommended Posts

س: ما هي RMAN
ج - هي اداة من الادوات التي قدمتها شركة اوراكل والتي تستخدم في عمليات النسخ الاحتياطي الكلي/الجزئي وقد ساهمت تلك الاداة بشكل رائع في تغير الاسلوب الذي كان يتعامل به مدراء قواعد البيانات في عمليات النسخ والاستعادة والاسترجاع لقاعدة البيانات.

س - ماهي بنية تلك الاداة(ٌRMAN)

ج -ويمكن ان نلخص ذلك في عدة نقاط
1 - ملف RMAN ويعتبر هذا الملف هو قلب الاداة وهو عبارة عن ملف تنفيذي (مثل ملف winword.exe ) حيث انه يمثل اشارة المحث حيث انه يقبل الاوامر التي تكتب بجانبه (حيث ظهر اشارة محث( <RMAN ) ويقوم بتحويل تلك الاوامر والتي تكتب في شكل سلسلة من الخطوات لتنفيذ النتيجة المطلوبةوكما تعلمون ان تلك الخطوات تقوم بتنفيذ اوامر pl/sql في قاعدة البيانات المطلوبة


2 - recover.sql وهو ملف من الملفات التي تحتوي معلومات هيكلية ودوال ومؤشرات واشياء اخرى ويعد هذا الملف جزءا من الاداة RMAN


3 - قاعدة البيانات المستهدفة(target database) هي قاعدة البيانات التي نجري عليها نسخة احتياطية كلية او جزئية


4 - ملف التحكم الخاص بقاعدة البيانات المستهدفة(control file) ويستخدم بايجاز للاحتفاظ بمعلومات عن النسخة الاحتياطية الكلية او الجزئية لقاعدة البيانات المستهدفة.


5 - قنوات الاتصال(allocate channel) وهي التي تسمح لملف RMAN التنفيذي السابق في الفقرة الاولي بتمرير البيانات من قاعدة البيانات المستهدفة الى الوسائط المستخدمة في عمليات النسخ الكلي او الجزئي


6- كتالوج الاسترجاع recover catalog وهو باختصار عبارة عن قاعدة بيانات منفصل يتم فيه تخزين معلوات عن النسخ الكلي والجزئي وكذلك النصوص البرمجية وسيسأل سائل ما الفرق بين استخدام ملف تحكم قاعدة البيانات المستهدفة وكتالوج الاسترجاع اقول ان ملف التحكم يحتفظ بمعلومات النسخ الكلي او الجزئي لفترة زمنية محدودة ويمكن ان يفقد نظرا لانة مرتبط بقاعدة البيانات المستهدفة
ولكن كتالوج الاسترجاع يحتفظ بالنسخ القديمة والجديدة بالاصافة الى النصوص البرمجية المستخدمة.

7 - مستوى ادارة الوسائط (media managment layer ) وهو مستوى برمجي وهو يسمح لاداة RMAN حيث يتم تمرير البيانات من قاعد البيانات المستهدفة الى وحدة الخدمة الخاصة بادارة الشرائط
ملاحظة ادا كنت تستخدم القرص فلست في حاجة الى هذا الاختيار.

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

س - ماهي مميزات RMAN ؟

ج - في الواقع هناك مميزات كثيرة ولكن ساختار منها اربعة فقط وهي

1 - عمليات النسخ الكلي / الجزئي والاستعادة والاسترجاع التامة: ويمكن ان نوضح تلك انقطة باختصار في انة لو قمت باضافة ملفات سجلات اعادة جديدة او اي مهمة اخرى فان اداة RMAN تقوم بشكل تلقائي بعمل نسخة كلية/ جزئية من الهياكل حديثة الانشاء.

2 - اكتشاف كتل البيات غير السليمة : تقوم الاداة RMAN بفحص كل كتلة من كتل البيانات التي تتم قرائتها في اثناء انشاء تسخة كلية او جزئية من قاعدة البيانات المفتوحة.



3 - مستوى اداء افضل لعمليات النسخ الكلي / الجزئي الخاصة بقاعدة البيانات المفتوحة


4 - سهول انشاء نسخ كلية جزئي من سجلات الاعادة المنسوخة

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

لقد كانت تلك مقدمة عن RMAN حتى تعريف مع ماذا تتعامل ونحن الان بصدد سؤال مهم جدا يساله الاخوة دائما كيفية الاستخدام الامثل لتلك الاداة الرائعة ولقد فكرت كثيرا كيف اقدم ابسط النماذج التي تمكن الاخوة من الاستمرار في تلك الحلقات بدون ملل لذك قررت ان اقوم بعمل مثال لتوضيح الفكرة بشكل كامل ان شاء الله


س. كيفية انشاء كتالوج استرجاع خاص باداة RMAN

ج - وقبل الخوض في تفاصيل الاجابة التي قد تستغرق بعض الوقت اذكركم ان كتالوج الاسترجاع هو احد مكونات البنية الاساسة للاداة RMAN وتتلخص اهميته في حفظ معلومات النسخ الكلية / الجزئية بالاضافة الي النصوص البرمجية وسبق وقلت ولكن دعوني اخواني اعرفكم ونفسي ماهو الكتالوج هذا ذو الاسم الغريب ربما علينا جميعا(يعتبر الكتالوج مجموعة من الجداول وجداول العروض الاعتبارية والحزم البرمجية المكتوبة باستخدام لغةpl/sql والتي توضع جميعا في احد مخططات المستخدمين في قاعدة بيانات منفصلة) ارجو ان تكون الفكرة قد وضحت الى حد ما .

فلنرجع اذا الى السؤال مرة اخرى يتم ذلك يا اخواني في عدة خطوات

1- انشاء قاعدة البيانات التي تحتوي على الكتالوج
2 - انشاء كتالوج الاسترجاع الخاص بالاداة RMAN
3 - تسجيل قاعدة البيانات المستهدفة(التي تريد ان تعمل لها نسخ احتياطي كلي /جزئي)
4 - عمل التزامن بين ملف التحكم والكتالوج
5 - انشاء نسخة كلية/جزئية من مستخدم الكتالوج


1 - انشاء قاعدة البيانات التي تحتوي على الكتالوج
طبعا من ابجديات مدير قاعدة البيانات انشاء القاعدة والتي ساطلق عليها CAT ثم نقوم على اعداد تلك القاعدة لنقوم بتخزين الكاتلوج فيها وقد سبق وعرفت الكتالوج اذا سيتم الان انشاء المخطط الخاص بذلك الكتالوج وهو عبار عن مساحة جدول (tablespace)

create tablespace cattb datafile 'c:\oracle\oradata\cat\cattb01.dbf' size 200m;


ثم بعد ذلك نقوم بانشاء المستخدم المالك لهذا الكتالوج كما يلي

create user rman identified by rman
2 temporary tablespace temp 
3 default tablespace cattb
4 qouta unlimited on cattb;


الان نقوم بمنح صلاحيات لذلك المستخدم ومنها الملكية

grant connect,recovery_catalog_owner to rman;



الدور recovery_catalog_owner يمنح فقط لمستخدم كتالوج الاسترجاع وهذا الدور يعطي المستخدم بعض المميزات في التعامل مع النظام

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

2 - انشاء كتالوج الاسترجاع الخاص بالاداة RMAN
ولاانشاء هذا الكتالوج نتبع الخطوات التالية

1 - اذهب الى ابدا نختار تشغيل ونكتب الامر CMD
2 - تظهر لنا شاشة الدوس نكتب عند المؤشر مباشرة rman
3- نحصل عل شارة المحث الخاصة بالاداة rman
<RMAN
4 - اولا نقوم بعمل اتصال بقاعدة البيانات المستهدفة كما يلي

connect target sys/server@practice


5 - ثم نتصل بقاعدة بيانات الكتالوج كما يلي

connect catalog rman/rman@cat


6- الان نستطيع انشاء كتالوج الاسترجاع الخاص بالاداة RMAN
نستخدم الامر التالي

create catalog tablespace cattb;


في الواقع هذا ليس انشاء بالمعنى المتعارف عليه ولكن يمكن ان نسميه تعريف الاداة RMANعلى المخطط الذي انشاناه منذ قليل في الحلقة السابقة
ولكي تتم الفائدة بشكل كامل لابد ان تعرف انه في اثناء انشاء هذا الكتالوج يم انشاء الجداول والفهارس التي سيحتفظ فيها ببيانات التعريف الخاصة بقاعدة البيانات المستهدفة والتي سميناها practice




3 - تسجيل قاعدة البيانات المستهدفة(التي تريد ان تعمل لها نسخ احتياطي كلي /جزئي)
السؤال الان اين سيتم تسجيل تلك القاعدة بالطبع الاجابة في الكتالوج الذي انشاناه منذ قليل ويتسأل البعض لماذا نقوم بتسجيل القاعدة في هذا الكتالوج والسبب هو ادخال المعلومات الخاصة بهيكل قاعدة البيانات المستهدفة في الجداول الخاصة بهذا الكتالوج كما يجب ان تعرف انه عند تسجيل قاعدة البيانات المستهدفة (practice) سوف يتم الاتصال بقاعدة البيانات التي فيها الكتالوج وقاعدة البيانات المستهدفة والامر المستخدم للتسجيل بسيط للغاية كما يلي

register database;



بهذا يمكن للمستخدم RMAN الذي انشاناة منذ قليل ان يصل للمعلومات المتعلقة بقاعدة البيانات المستهدفة

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

4 - عمل التزامن بين ملف التحكم والكتالوج

ونقصد بها هنا في الواقع التزامن بين المعلومات الموجودة في كتالوج الاسترجاع وملف التحكم الخاص بقاعدة البيانات المستهدفة وكي لااطيل عليكم في هذه المسألة فهناك نوعان من التزامن

1 - تزامن كلي : وهو بايجاز تحديث الكتالوج باضافة التغيرات التي حدثت في السجلات الغير قابلة لاعادة الاستخدام مثل ملفات البيانات و ملفات الجداول

2 - التزامن الجزئي : ويشمل المعلومات المدرجة في سجلات الاعادة المحفوظة واي سجلات خاصة بالنسخ الاحتياطي الكلي او الجزئي

وهذا التزمن يتم عن طريق الامر التالي والذي يكتب تحت اشارة محث RMAN

RESYNC CATALOG




ملاحظة مهمة : ولكي يتم هذا التزامن لابد ان تقوم اداة RMAN باخذ لقطة من ملف التحكم الخاص بقاعدة البيانات المستهدفة

وخطوات عمل التزامن بالكود التالي


connect catalog rman/rman@cat
connect target sys/server@practice
set snapshot controlfile name to 'c:\oracle\oradata\practice\snapsho.ctl';
resync catalog




5 - انشاء نسخة كلية/جزئية من مستخدم الكتالوج

في الواقع تلك النقطة اختيارية وهي زيادة في تامين قاعدة البيانات لحمايتها وانا لن اخوض في هذا الجزء الان ولكن ربما في حلقات قادمة اقوم بذلك



الان ماذا نحن فاعلون سنبدا الان في استخدام تلك الاداة في عمليات النسخ وذلك سوف يكون في الحلقة القادمة ولكن يجب ان نصبر حتي نقوم بعمل متكامل مبني على اساس علمي صحيح ان شاء الله

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك


السلام عليكم ورحمة الله وبركاته

الأخ الفاضل
eng_mcsd

جزاك الله خيراً
علي هذا الشرح

ونتابع معكم ...

ملحوظة : ظلل الكود واضغط علي CODE في أعلي الشاشة و سيظهر بصورة جيدة

بارك الله فيك


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

هنا وقبل ان نبدا قد نحتاج الى طرح السؤال التالي:

س: ما هي خيارات النسخ المتاحة في الاداة RMAN
في الواقع يوجد ثلاث طرق للنسخ في الاداة RMAN


1- النسخ طبق الاصل
2 - النسخ النائبة
3- عمليات النسخ الكلية/الجزئية لقاعدة البيانات المفتوحة


1- النسخ طبق الاصل
في تلك النوعية من النسخ نقوم بعمل نسخة طبق الاصل من كل الملفات سواء كانت ملفات البيانات اول ملفات التحكم اوملفات سجلات الاعادة المحفوظة ويجب ان نضع في اعتبارنا ان تلك النسخة يتم تسجيلها في ملف التحكم الخاص بقاعدة البيانات المستهدفة وكتالوج الاسترجاع وتعتبر النسخ طبق الاصل مهمة في عمليات الاستعادة السريعة والان نقوم بتطبيق مثال لانشاء نسخة طبق الاصل
فيهذا المثال سوف نقوم بتقسيم العمل على ثلاثة اتجاهات

1 - انشاء النص البرمجي الخاص بالامر COPY في الاداة RMAN
2 - تشغيل هذا النص في الاداة RMAN
3 - التاكد من سلامة النص البرمجي

1 - انشاء النص البرمجي الخاص بالامر COPY في الاداة RMAN

قبل ان تقوم بعمل النص انصحك بتنفيذ الامر REPORT SCHEMA لمعرفة اسماء الملفات الصحيح فهذا امر في منتهى الاهمية

والان نبدا بكتابة الكود

run{
allocate channel d1 type disk;
copy
datafile 1 to 'c:\oracle\oradata\practice\backup\ch12\system01.dbf.bak',
datafile 2 to 'c:\oracle\oradata\practice\backup\ch12\undotbs01.dbf.bak',
datafile 3 to 'c:\oracle\oradata\practice\backup\ch12\CWMLITE01.DBF.bak',
datafile 4 to 'c:\oracle\oradata\practice\backup\ch12\DRSYS01.DBF.bak',
datafile 5 to 'c:\oracle\oradata\practice\backup\ch12\EXAMPLE01.DBF.bak',
datafile 6 to 'c:\oracle\oradata\practice\backup\ch12\INDX01.DBF.bak',
datafile 7 to 'c:\oracle\oradata\practice\backup\ch12\ODM01.DBF.bak',
datafile 8 to 'c:\oracle\oradata\practice\backup\ch12\TOOLS01.DBF.bak',
datafile 9 to 'c:\oracle\oradata\practice\backup\ch12\USERS01.DBF.bak',
datafile 10 to 'c:\oracle\oradata\practice\backup\ch12\XDB01.DBF.bak',
datafile 11 to 'c:\oracle\oradata\practice\backup\ch12\USER02.DBF.bak',
current controlfile to 'c:\oracle\oradata\practice\backup\ch12\backup.ctl';
}



2 - تشغيل هذا النص في الاداة RMAN

في الواقع هناك ملاحظ حتى لاتحصل عل خطا قم بانشاء الادلة الزيادة وهم\backup\ch12\
وكذلك للتسهيل لاتكتب هذا الكود في الاداة RMAN ولكن اكتبها في اي محرر نصو واحفظه بامتداد RCV
بعد ذلك نقوم بتشغيل النص كما ياتي

rman>@c:\back.rcv



3 - التاكد من سلامة النص البرمجي;


ولي نتاكد من ان العملية تمت بنجاح قم بتنفيذ الامر التالي

;list copy
or
list copy of controlfile;

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

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

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

* - انشاء نسخة كلية أو جزئية من قاعدة البيانات المفتوحة باستخدام الاداة RMAN
ونحن في التدريب القادم نقوم باستخدام النص البرمجي لعمل نسخة كلية اوجزئي لقاعدة البيانات كاملة
من خلال الاداة RMAN وقاعدة البيانات مفتوحة

run{
     allocate channel d1 type disk;
     backup  incremental level= 0 
     database
format 'c:\oracle\oradata\practice\backup\ch12\db_%d_%s_%P_%t'
     tag='whole_incrmnet';
}



فلنبدأ الان بشرح هذا الكود بمنتهى البساطة

1 - السطر الثاني: تحديد قناة الاتصال وذلك لنسخ كتل البيانات من القاعدة الي وسيط التخزين المستخدم وهنا استخدمنا النوع ديسك
2 - السطر الثالث وهو امر النسخ نفسه وهو backup ويتبعها database دلالة اننا نريد عمل نسخ لقاعدة البيانات كاملة وتبعها incremental 0 وتعني ان تلك النسخ تزايدة اساسية عند المستوى صفر
3 - السطر الرابع : وهنا نجد الامر format وهو يخبر الامر backup بالمكان الذي سيتم فيه نسخ الملفات
4 - السطر الخامس: انشاء اسماء سهلة للتعريف بالنسخة

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

الحلقة السابعة

الان قد يخطر في بالناانه يجب علينا ان نتعمق قليلا داخل تلك الاداة للتعرف على امكانيات اخرى اضافية

والسؤال الان ماذا لو اردت ان اقوم بعمل نسخة كلية / جزئية وقاعدة البيانات مغلقة باستخدام الاداه RMAN وهنا لا يتم الاغلاق بالمعنى الكامل ولكن هنا نقوم باغلاق القاعدة وجعل ملف التحكم متاح ويتم ذلك بان نقوم بجعل القاعدة تعمل في MOUNT والكود المستخدم في تلك العملية كما ياتي

shutdown immediat;
startup mount;
run{
allocate channel d1 type disk;
allocate channel d2 type disk;
backup  incremental level=0
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_inco_closed';
}
alter database backup controlfile to ''c:\temp\backup.ctl'' reuse;
alter database open;

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

طبعا ايها الاحبة ان اقدم هذه السلسلة في تلك الصورة وقد نوين ان اجمعها في ملف ولكن الذي منعني هو انني طحتها بهذا الشكل حتى احصل على مقترحاتكم البنائة في هذا الصدد فاتمكن من انشاء مذكرة منقحة متكاملة يستخدمها اي شخص راغب في التعامل مع تلك الادة بكفاءة واقتدار فنحن ما زلنا في البداية ولم نتكلم الاعن جزء صغير في تلك الاداة فرجاء من كان لديه اقتراح فلايبخل به فانه قد يعود بفائدة كبيرة وانت لاتدري ولكن اذا لم يقدم اي فكرة او اقتراح فانا لن اتوقف عن اكمال العمل باذن الله ولكن سيكون فكر من شخص واحد قد يصيب وقد يخطا مع تمنياتي لكم جميعا بالتوفيق

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

الحلقة الثامنة
السلام عليكم عود على بدأ
اليوم نتكلم عن عمل نسخة احتياطية تذايدية المستوى 1,2 باستخدام اداة RMAN وكذلك عمل نسخة احتياطية من ملفات الاعادة المحفوظة

س - كيف يمكن انشاء نسخة كلية/جزئية تزايدية المستوى (1) باستخدام أداة RMAN

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

نبدأ الان الاجابة

الكود المستخدم لعمل نسخة كلية / جزئية المستوى 1 هو كما ياتي

run{
allocate channel d1 type disk;
backup
incremental cumulative level=1
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt1';
}




وليس هناك جديد في هذا الكود عن سابقه في النسخة الاساسية المستوى( 0 ) غير ان استخدمنا هنا الكلمة cmulative وهي تعني تراكمية ووضعنا كلمة level=1 وباقي الكود ثابت وسوف تلاحظ ذلك في كثير من عمليات النسخ للمتمرسين في هذا الصدد


س - عمل نسخة كلية / جزئية المستوى الثاني(2)

الكود المستخدم شبيه بالسابق وهو كما يلي وساترك لك تحليله



run{
allocate channel d1 type disk;
backup
incremental cumulative level=2
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt2';
}




س - السؤال الاخير في تلك الحلقة هو كيفية عمل نسخة كلية / جزئية من ملفات الاعادة المحفوظة وهذا ايضا من السهولة بمكان وهو كما ياتي


run{
allocate channel d1 type disk;
sql "alter system archive log current";
backup archivelog all
format 'c:\oracle\oradata\practice\ch12\ar_%d_%s_%p_%t';

}



ليس اختلاف غير السطر الثالث فيه استخدام امر SQL ونحن هذا الامر للتاكد من ملف الاعادة المحفوظ الحالي هو الهدف المطلوب


ولكي نتاكد ان هذا النص يعمل جيد نستخدم الامر التالي


RMAN>list backupset of archivelog all;

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

الاخ الرائع eng-mcsd
بعد التحية والاحترام
نشكرك جزيل الشكر علي هذا الشرح الجميل ولكن لي طلب ارجو ان اجده لديك
انا في امس الحاجة الي ترجمة لكتابoracle backup & recovery 101اذا امكن وان لم تجد نرجو شرح اكبر قدر ممكن منه باسرع مايمكن
ولك منا جزيل الشكر0000000000

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

اشكر جميع الاخوة الذين تفضلوا بالرد كما اشكر كل الاخوة الذين تصفحوا الموضوع واقول للاخ aias انني اشرح من كتاب Oracle Backup & Recovery 101 وانا اقوم بشرح الاجزاء الخاصة النسخ الاحتاطي والاسترجاع باستخدام الاداة RMAN .


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

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

الحلقة العاشرة

بعد ان وفقنا الله وقمنا بعمل النسخ الكلية / الجزئية بكل الاشكال باستخدام الاداة RMAN السؤال الان الذي يرد الى الاذهان هو كيف يمكن التنسيق بين كل تلك النسخ وكيف تستخدم ومتى تستخدم وذلك يا شباب ما يسمى باستراتيجية النسخ باستخدام الاداة RMAN وانا هنا ساقدم ابسط الاستراتيجيات .

باختصار يا شباب نقوم نسخة كلية / جزئية تزايدية في المستوى (0) مرة في الاسبوع وخلال الاسبوع نقوم بانشاء نسخ تزايدية في المستوى (1و2) ويمكن ان نقوم بطرح هذا السيناريو بالشكل التالي

* - يوم الاحد نقوم بعمل نسخة كلية / جزئية في المستوى(0) والكود كما ياتي


run{
    allocate channel d1 type disk;
    backup database incremental 0 
    format 'c:\oracle\oradata\practice\backup\ch12\db_%d_%s_%P_%t'
    tag='whole_incrmnet';
}




* - يوم الاثنين نقوم بعمل نسخة كلية / جزئية في المستوى (2) والكود كما ياتي


run{
allocate channel d1 type disk;
backup
incremental cumulative level=2
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt2';
}



* - يوم الثلاثاء نقوم نسخة كلية/ جزئية المستوى (2)

run{
allocate channel d1 type disk;
backup
incremental cumulative level=2
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt2';
}



* - يوم الاربعاء نقوم نسخة كلية/ جزئية المستوى (2)

run{
allocate channel d1 type disk;
backup
incremental cumulative level=2
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt2';
}





* - يوم الخميس نقوم نسخة كلية/ جزئية المستوى (1)

run{
allocate channel d1 type disk;
backup
incremental cumulative level=1
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt1';
}



* - يوم الجمعة نقوم نسخة كلية/ جزئية المستوى (2)


run{
allocate channel d1 type disk;
backup
incremental cumulative level=2
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt2';
}




* - يوم السبت نقوم نسخة كلية/ جزئية المستوى (2)


run{
allocate channel d1 type disk;
backup
incremental cumulative level=2
database
format 'c:\oracle\oradata\practice\ch12\db_%d_%s_%p_%t'
tag='whole_incremnt2';
}




ولكي نبرز كيف تعمل تلك الاستراتيجية نفترض انه حدث عطل يوم السبت عند الظهر ماذا سيحدث

* - سيقوم الامر RESTORE في الاداة RMAN باستدعاء مجموعات النسخ الكلية/الجزئية التى تم انشاءها يوم الاحد والخميس والسبت صباحا ولماذا انا اقولك لماد لاننا لوتذكر قمنا بعمل نسخة اساسية يوم الاحد وهناك نسخة تذايدة في المستوى(1) يوم الخميس ومن ثم نسخة تذايدية مستوى (2) يوم السبت صباحا بذلك نكون استرجعنا كافة البيانات الموجود قبل حدوث المشكلة ولم نخسر شي من البيانات

ولمزيد من القاء الضوء على تلك الاستراتيجية رنت تلاحظ اننا استخدمنا كلمة cumulative مع النسخ المتزايدة وهي تعني تراكمية وعندما نضع استراتيجية الاسترجاع مع النسخ المتزايدة المستخد لتلك الكلمة فاننا نسترجع اولا المستوى (0) ثم المستوى (1) ومن ثم المستوى (2) فان لم يكن لدينا المستوى (1) نكتفي في الاسترجاع بالمستوى (0و2)


ملاحظة من لديه اي ملاحظة في تلك النقطة فلا يتردد في السؤال فهي مبط الفرس بالنسبة لمدير قواعد البيانات الناجح.

تم تعديل بواسطة eng_mcsd
رابط هذا التعليق
شارك

ها قد عدنا والعود احمد
السلام عليكم ايها الاحبة اليوم سوف نتكلم عن الاسترجاع باستخدام الاداة RMAN
ولكي لانطيل على الشباب نقول ان عملية الاسترجاع تكون عملية ناجحة طالما انا عملية النسخ تمت بنجاح والاسترجاع في الواقع اسهل بكثير من النسخ ولكنه اخطر حيث يترتب مستقبل البينات التي تمثل العمود الفقري للمؤسسات والشركات.


في الواقع انا آداة RMAN تعتمد على امرين مهمين جدا في تلك المألة

1 - امر RESTORE ويعني الاستعادة
2 - امر RECOVER ويعني الاسترجاع

وقد يتسال سائل هل هناك فرق بين الامرين انا اقول نعم هناك فرق جوهري للغاية في الحقيقة

والسؤال المطروح متى نستخدم الامر restore (الاستعادة) لاتقلق سوف اقرب لك الفكرة هل تذكر يا عزيزي في الدروس السابقة عندما قما بعمل نسخة طبق الاصل وعملنا نسخة تذايدة اساسية وانا اقصد بالاساسية المستوى (0) هنا ايها الاخوة يكمن اهمية RESTORE حيث انه وعن طريقها نستطيع نسخة من الملفات المضرورة او المفقودة الى موقعها الاصلي وقد تكون محتويات تلك النسخة المستعادة الى الموقع الاصلي قديمة ولا تفي بالغرض المطلوب ولذلك نحتاج الى الوصول الى البيانات الحالية قبل حدوث المشكلة وهنا تبرز اهمية الامر RECOVER والذي يقوم باسترجاع كتل البيانات التي تم تحديثها من خلال النسخ التذايدية ذات المستوى (1و2) والتي تكلمنا عنها سابقا .


اذا ببساطة RESTORE تستعيد الملف وهيكله الى موقعه الاصلي وRECOVER تسترجع البيانات التي عدلت داخل ذلك الملف يعني ذلك انه لابد من استخدام الاثنين معا اقول نعم فنبدأ ب RESTORE ثم نتبعها بRECOVER

مثال : حتى تتاكد عملية الفهم بشكل كامل

اعتقد انني طرحت هذا المثال مسبقا افترض ان ملف بيانات فقد يوم السبت صباحا ولم تكن قد انشات بعد نسخة تزايدية من المستوى الثاني (2) فان اداة RMAN تقوم بالخطوات التالية لاستعادة واسترجاع الملف بشكل كلي وكامل


1 - استعادة ملف البيانات (لاحظ ان هذه الخطوة رقم واحد استخدام امر RESTORE كما سبق وقلت)
هنا تقوم الاداة RMAN باعادة انشاء ملف البيانات المفقود بالكامل من النسخة الكلية/ الجزئية التي تم انشاؤها لقاعدة البيانات في المستوى (0) والذي يسمى بالمستوى الاساسي


2 - استرجاع ملف البيانات وهنا ياتي دور الامر RECOVER وفي تلك الحالة يتم البحث عن نسخة كلية/جزئية متزايدة مناسبة وهنا نجد ان هناك نسخة كلية/ جزئية تزايدية في المستوى (1) قد تم اخذا يوم الخميس فهي تغني عن كل النسخ الكلية/ الجزئية ذات المستوى (2) واتي اخذت يوم الاثنين والثلاثاء والاربعاء وذلك لان جميع كتل البيانات التي حدثت من يوم الاحد وحتى يوم الاربعاء سوف يتم احتوائها في النسخة الكلية/ الجزئية ذات المستوى(1) ولم يبقى لنا سوى النسخة الكلية / الجزئية ذات المستوى (2) والتي اخذت يوم الجمعة واتلي قد تحتوي بعض التعديلات فيتم استرجاعها

وبعد تلك المرحلة تاتي مرحلة سجلات الاعادة والتي قد ناخذ منها نسخة طبقالاصل ونستخدمه مع سجل الاعادة الحالي والمتاح للاستخدام وبذلك يمكن الحصول على نسخة مسترجعة بشكل كامل .

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

أخي العزيز
لك كل الشكر والتقدير
هل RMAN لا يتعامل مع NOARCHIVELOG Database
عند عمل - انشاء النص البرمجي الخاص بالامر COPY في الاداة RMAN
ظهر هذا الخطأ

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of copy command on d1 channel at 07/29/2006 12:45:00
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
ORA-19600: input file is datafile 1 ()
ORA-19601: output file is datafile-copy 0 (F:\ORACLE\ORADATA\OEMREP\BACKUP\CH12\
DRSYS01.DBF.BAK)

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

  • بعد 1 شهر...
  • بعد 2 أسابيع...
  • بعد 2 أسابيع...

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

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

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

×   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.

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

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

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