Point in Time Recovery in Oracle Database
نشر بواسطة : Obay Salah , November 19, 2024
لنفترض أن لديك قاعدة بيانات تقوم بعمل نسخة احتياطية باردة Cold backup لها يوميًا عند الساعة 5 مساءً، وفي يوم الثلاثاء عند الساعة 2 صباحًا قام أحد المستخدمين بحذف جدول الموظفين Employee بالخطأ ولم تكتشف ذلك إلا صباح يوم الخميس، فما الحل؟
1- قم بعمل نسخة احتياطية باردة Cold Backup لقاعدة البيانات بالكامل الآن.
2- قم بإرجاع قاعدة البيانات إلى حالتها قبل حذف الجدول Point in Time Recovery وذلك بعمل Restore لقاعدة البيانات إلى آخر نسخة احتياطية قبل حذف الجدول، أي نحتاج إلى عمل Restore لقاعدة البيانات من النسخة الاحتياطية يوم الاثنين مساءً ثم عمل Recovery لقاعدة البيانات إلى حالتها قبل حذف الجدول بدقيقة مثلًا.
ALTER DATABASE RECOVER AUTOMATIC USING BACKUP CONTROLFILE UNTIL TIME '02/12/2018:02:29:12' ;
3- ثم نفتح قاعدة البيانات في وضع Resetlogs.
ALTER DATABASE OPEN RESETLOGS;
4- ثم نقوم بتصدير الجدول الذي نريد استرجاعه.
EXP USER/PASSWORD FILE=C:\EMP.DMP TBLES=EMPLOYEE
5- الآن نقوم بعمل Restore لقاعدة البيانات من النسخة الإحتياطية التي قمنا بعملها في الخطوة الأولى من هذا السيناريو ثم نقوم بفتح قاعدة البيانات.
6- أخيراً نقوم باستيراد جدول الموظفين Employee من ملف التصدير C:\emp.dmp
IMP USER/PASSWORD FILE=C:\EMP.DMP TABLES=EMPLOYEE FROMUSER=USER TOUSER=USER
وبذلك نكون قد استعدنا الجدول المطلوب ولكن يجب مراعاة الآتي:-
1- تم حذف الجدول من سلة المحذوفات أيضاً.
2- الجدول غير موجود في ﺍلUndo Tablespace وبالتالي لا يمكن عمل Flashback.
3- إذا تعذر إغلاق قاعدة البيانات بسبب ظروف العمل فيجب أن تتم عملية الاسترجاع في مكان آخر حتى يتم استيراد الجدول المطلوب ومن ثم توفيره لقاعدة البيانات الأصلية.
4- معرفة وقت حذف الجدول مهم في عملية الاسترجاع.
Comments
لايوجد تعليق حتى الان