نشر بواسطة : Obay Salah , November 19, 2024

 تحتوي هذه الحزمة على عدد من الإجراءات تقوم بعمل فحص للكائنات وتحديد الكائنات الفاسدة ومن ثم تقوم بعلاج تلك الكائنات.

ولكن يجب الحديث أولاً عن الإجراء ADMIN_TABLES الذي يقوم بإنشاء جدول في SYS Schema تُستخدمه الحزمة DBMS_REPAIR لتخزين مخرجاتها.

ويكون اسم هذا الجدول مسبوقًا بـ REPAIR.

DESC DBMS_REPAIR


كما تشاهد فإن الحزمة DBMS_REPAIR تحتوي على عدد من الإجراءات التي تقوم بعمل فحص للكائنات الفاسدة ومن ثم تقوم بتخزين هذه المعلومات في الجدول الذي يتم إنشاؤه من خلال الإجراء ADMIN_TABLES الموجود في الحزمة نفسها، ومن ثم تقوم بمعالجة تلك المشاكل.

الآن سنقوم بإنشاء الجدول الذي ستستخدمه الحزمة DBMS_REPAIR لتخزين المخرجات، سنقوم بتسمية هذا الجدول REPAIR_CORRUPT_TABLE.

لاحظ أنه يبدأ بالكلمة REPAIR وسوف يتم إنشاؤه في SYS Schema.


Begin

dbms_repair.admin_tables(

table_name=>'REPAIR_CORRUPT_TABLE',

table_type=>dbms_repair.repair_table,

action=>dbms_repair.create_action);

end; 


قد تم إنشاء الجدول REPAIR_CORRUPT_TABLE ويمكنك الاستعلام عنه، لاحظ أنه لا يحتوي على بيانات.

بعد عمليات فحص الكائنات بواسطة الحزمة DBMS_REPAIR تستطيع استعلام هذا الجدول لمعرفة معلومات الفحص.

فإذا تم العثور على كتل فاسدة على جدول معين مثلاً سوف يتم كتابة تلك المعلومات في هذا الجدول كما سيتم اقتراح لحل هذه المشكلة.

الآن لو أردنا التحقق من سلامة الجدول CORRUPT الموجود في Schema HR عن طريق الحزمة DBMS_REPAIR، سنستخدم الإجراء CHECK_OBJECT، الذي يقوم بالتحقق من الجدول ومن ثم سيقوم بكتابة النتيجة في الجدول REPAIR_CORRUPT_TABLE.

في حال تم العثور على بعض الكتل الفاسدة، تستطيع عمل استعلام على الجدول REPAIR_CORRUPT_TABLE للتأكد من سلامة الجدول CORRUPT، فسوف يتم إضافة البيانات في الجدول REPAIR_CORRUPT_TABLE فقط في حالة العثور على كتل فاسدة في الجدول.

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

ولكن يستطيع استخدام الإجراء FIX_CORRUPT_BLOCKS الذي يقوم بتعليم الكتل الفاسدة ومن ثم يتم تجاهل هذه الكتل باستخدام الإجراء SKIP_CORRUPT_BLOCKS.

بالطبع هذا الحل مكلف وذلك لأنه يؤدي إلى فقد بعض البيانات بسبب تجاهل الكتل الفاسدة ولكن في النهاية يؤدي إلى نجاح عمليات الاستعلام على الجدول.

 


علامات : Database

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان