Control File in Oracle Database
نشر بواسطة : Obay Salah , November 19, 2024
يمكن تسميته بملف تحكم وهو ملف ثنائي أي لا يمكن قراءته من خلال محرر نصوص لأنه ليس نص وبدونه لا تعمل قاعدة البيانات, يتم قراءته في وضع Mount لذلك يمكننا فتح قاعدة البيانات في وضع Nomount حتى لو فقدنا ملف ﺍلControl File بالطبع فهو يعتمد على قاعدة بيانات واحدة
ويتم تحديثه فقط بواسطة الOracle Server أثناء تشغيل قاعدة البيانات لذلك لا يستطيع مسؤول قاعدة البيانات تحديثه
إذا فقدنا ملف ﺍلControl File نحتاج إلى استرجاعه قبل فتح قاعدة البيانات مرة أخرى يتم إنشاؤه أثناء إنشاء قاعدة البيانات ويمكن زيادة عدد ﺍلFile Control في الملفات بعد إنشاء قاعدة البيانات حتى نتمكن من استرجاعه إذا فقدنا أحد ملفات ﺍلFile Control
يحتوي ملف الControl Fileعلى ما يلي:-
1- اسم قاعدة البيانات.
2- وقت إنشاء قاعدة البيانات.
3- أسماء ﺍل.Tablespaces.
4- اسم وموقع ﺍلData Files وﺍلRedo Log Files.
5- ﺍلRedo Log الحالي ورقمه التسلسلي.
6- معلومات النسخ الاحتياطي. على سبيل المثال معلومات RMAN. سنناقش هذا لاحقًا.
7- معلومات عن الأرشيف.
8- تحتوي على المعلومات التالية (MAXLOGMEMBERS & MAXLOGFILES & MAXLOGHISTORY & MAXDATAFILES & MAXINSTANCES).
Multiplexing the Control File:
المعنى هو أن تعمل قاعدة البيانات على عدد من ﺍلControl File مع العلم أن جميع ﺍلControl File هي الأصلية.
وبهذه الطريقة نستطيع تأمين قاعدة البيانات في حالة فقد أحد ﺍلControl File.
كما أنه من الأفضل توزيع هذه الملفات على عدد من ﺍلDisk حتى لا نفقدها جميعها.
والآن لنفترض أن لدينا قاعدة بيانات باسم OBAY تحتوي على 3 ملفات من ﺍلControl Files نريد إضافة ملف Control File آخر إليها.
سنقوم بهذا السيناريو في حالتين:-
الحالة الأولى: باستخدام SPFILE.
الحالة الثانية: باستخدام init.ora.
اﻟﺤﺎﻟﺔ اﻷولى (SPFILE) : -
1- نقوم بتعديل المتغير Control_files في ملف المتغيرات (SPFILE) ونضيف إليه مكان ملف Control File الذي نريد إضافته لقاعدة البيانات.
ALTER SYSTEM SET CONTROL_FILES='D:\oracle\product\10.1.0\oradata\OBAY\CONTROL01.CTL', 'D:\oracle\product\10.1.0\oradata\OBAY\CONTROL02.CTL', 'D:\oracle\product\10.1.0\oradata\ OBAY\CONTROL03.CTL', 'D:\oracle\product\10.1.0\oradat a\OBAY\CONTROL04.CTL' SCOPE=SPFILE;
2- نحتاج الآن لإغلاق قاعدة البيانات حتى يمكن تحديث التعديل السابق.
3- من خلال نظام التشغيل نقوم بعمل نسخة من أحد ملفات التحكم الموجودة ونضعها ونسميها كما حددنا في المتغير Control_Files.
4- الآن يمكن فتح قاعدة البيانات.
وبالتالي تعمل قاعدة البيانات الآن بأربعة ﺍلControl Files بدلاً من ثلاثة.
لاحظ أن العملية تتطلب إغلاق قاعدة البيانات ثم عمل نسخ على نظام التشغيل ثم فتح قاعدة البيانات مرة أخرى.
الحالة الثانية (init.ora):-
1- قفل قاعدة البيانات.
2- تعديل متغير Control_Files على ملف المتغيرات .initobay.ora بحيث نضيف اسم ومسار ملف Control الجديد ثم نحفظ الملف،
3- من خلال نظام التشغيل نقوم بعمل نسخة من أحد ملفاتﺍلControl Files الموجودة ونضعها ونسميها كما حددنا في المتغير Control_Files.
4- نفتح قاعدة البيانات.
طبعا يمكن التأكد من التعديل عن طريق الأمر SHOW PRAMAETERS CONTROL_FILES.
Comments
لايوجد تعليق حتى الان