Redo Log File in Oracle Database
نشر بواسطة : Obay Salah , November 19, 2024
1- لحظة تثبيت العمليات (Commit).
2- لحظة امتلاء الBuffer إلى الثلث.
3- قبل عملية DBWn.
وبالتالي تتم عملية الlog switch بشكل تلقائي دون أي تدخل من مسؤول قاعدة البيانات، ولكن في بعض الأحيان قد يحتاج مسؤول قاعدة البيانات إلى القيام بهذه المهمة يدويًا من خلال الأمر التالي:-
هذا الملف لتسجيل التغيرات التي تحدث في قاعدة البيانات بحيث يتم تسجيل التغيرات التي تم تنفيذها (Commit) أو لم يتم تنفيذها.
نستفيد من هذه الملفات في استعادة قاعدة البيانات في حالة حدوث مشكلة. بحيث يكون هناك بعض البيانات التي لم يتم كتابتها في ﺍلData Files أثناء كتابتها في ﺍلRedo Log Files .
هذا الملف على شكل مجموعة GROUP بحيث تعمل قاعدة البيانات مع مجموعتين من الGroups على الأقل.
لذلك يتم استخدام هذا الملف كأساس لعملية الاسترجاع في حالة حدوث خطأ حيث يحتوي على التغيرات التي تحدث للبيانات.
لضمان الحفاظ على هذا الملف، يتم تنظيم كل Group على شكل Members وكل Member داخل ﺍلGroup هو نسخة من الأصل، والهدف من ذلك هو تقليل مخاطر الخسارة.
تكتب LGWR Background Process البيانات الموجودة في ﺍلRedo log Buffer إلى الRedo Log Files.
بمجرد ملء ﺍلRedo Log File، يقوم LGWR بالتبديل إلى ﻟلRedo Log File الآخر في عملية تعرف باسم Log Switch.
إذا قام Oracle Server بكتابة جميع التغييرات على قاعدة البيانات في Redo Log Buffer، يتم كتابة هذه المتغيرات من Buffer إلى Redo Log File عبر LGWR في الحالات التالية:-
1- لحظة تنفيذ العمليات.
2- لحظة ملء Buffer إلى الثلث.
3- قبل عملية DBWn.
وبالتالي تتم عملية تبديل السجل تلقائيًا دون أي تدخل من مسؤول قاعدة البيانات، ولكن قد يحتاج مسؤول قاعدة البيانات أحيانًا إلى القيام بهذه المهمة يدويًا من خلال الأمر التالي:
ALTER SYSTEM SWITCH LOGFILE;
كما أن عملية Checkpoint تحدث تلقائيًا عند حدوث تبديل السجل.
كما يمكن تنفيذ Checkpoint تلقائيًا بواسطة مدير قاعدة البيانات باستخدام الأمر التالي:-
ALTER SYSTEM CHECKPOINT;
ا ﻀﺎﻓﺔ Online Redo Log Files Group:
في بعض الأحيان قد نحتاج إلى إضافة Online Redo Log Files Group جديدة، وذلك من خلال القيام بما يلي: -
ALTER DATABASE ADD LOGFILE GROUP 4 ‘D:\ORACLE\PRODUCT\10.1.0\ORADATA\OBAY\REDO04.RDO’ SIZE 10M;
إضافة Groups للMembers:
ALTER DATABASE ADD LOGFILE MEMBER 'D:\oracle\product\10.1.0\oradata\OBAY\RED1.RDO' TO GROUP 1, 'D:\oracle\product\10.1.0\oradata\OBAY\RED2.RDO ' TO GROUP ٢, 'D:\oracle\product\10.1.0\oradata\OBAY\RED3.RDO' TO GROUP 3, 'D:\oracle\product\10.1.0\oradata\OBAY\RED4RD O' TO GROUP 4;
حذف Online Redo Log Groups:
ALTER DATABASE DROP LOGFILE GROUP 4;
لاحظ أن قاعدة البيانات تعمل على اثنين من ﺍلGroups على الأقل، ولا يمكن حذف current or active Groups.
حذف Online Redo Log Members :
ALTER DATABASE DROP LOGFILE MEMBER ‘D:\ORACLE\PRODUCT\10.1.0\ORADATA\OBAY\RED3.RDO;
Clearing Online Redo Log File:
إن حل مشكلة الفشل التي تحدث لجميع ﺍلMembers في ﺍلGroup يعني ضمناً إعادة إنشاء الRedo Log Files.
ALTER DATABASE CLEAR LOGFILE GROUP 2;
إذا كانت قاعدة البيانات تعمل في وضع Archive log فإن عملية ﺍلClearing أعلاه ستفشل إذا لم يتم أرشفة ﺍل2 Group ، وبشكل عام سوف نتحدث عن موضوع الأرشفة لاحقًا، ولكن لحل هذه المشكلة يمكن تعديل الأمر السابق على النحو التالي:-
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2;
ولكن قبل القيام بذلك، يجب عليك عمل نسخة احتياطية كاملة لقاعدة البيانات. (Full Backup).
إعادة تسمية ﺍلRedo Log Files:-
يمكنك إعادة تسميةﺍلRedo Log Files أو تغيير موقعها عن طريق إضافة Log File جديد وحذف القديم.
يمكنك أيضًا استخدام الأمر ALTER DATABASE RENAME FILE، ولكن هذا الأمر يتطلب إحضار قاعدة البيانات إلى وضع MOUNT.
فقدان ﺍلRedo Log File:
إذا فقدنا Member من ﺍلRedo Log Files Group، فستظل قاعدة البيانات مفتوحة ومتاحة طالما كان هناك Member آخر في الGroup،
ولكننا سنتلقى رسائل تحذير في ﺍلAlert log File . بالطبع، من الممكن الاسترداد عن طريق عمل نسخ من ﺍلMember الحاليين ثم إعادة تسميته.
للاستعلام عن ﺍلRedo Log File::
V$LOG
V$LOGFILE
Comments
لايوجد تعليق حتى الان