السلام عليكم
ساتحدث بحسب فهمي للموضوع وقبل القراءة امانة ان وجد اخطاء تصويبي كونها مادة عندي :mad: :mad:
بسم الله الرحمن الرحيم
بنية نظام إدارة قواعد بيانات أوركل
المركبين الأساسيين هو مجموعة الملفات الفيزيائية
والمركب الثاني من لنظام إدارة قواعد بيانات أوركل هو الذاكرة instance مجموعة بنى ذواكر مختلفة + مجموعة من البريمجات و ما يسمى process
تعمل في الخلفية ولذلك تسمى background process وهي عبارة عن خدمات تعمل في الخلفية ليس لها واجهات .
حيث لكل من هذه الخدمات عمل واسم مميز وطريقة عمل محددة
المهمة الأساسية لهذه الخدمات هي الولوج للملفات الأساسية للملفات الفيزيائية
كما هو موضح بالصورة ال instance
1- background process : ووظيفتها الربط بين الذاكرة وقاعدة البيانات
2- memory SGA
ملاحظة
عندما يتعامل المخدم مع قاعدة بيانات لا يتعامل معها ضمن القرص الصلب وإنما يتعامل معها عن طريق الذاكرة حيث يتم نقل جميع مكونات البيانات فيزيائيا لها .
وأي تعديل عليها على البيانات من إضافة وتعديل وحذف يتم في الذاكرة . طبعا هذا الشيء من البديهي أن يتم في الذاكرة كون الذاكرة الالكترونية أسرع بكثير من القرص الصلب ذو الحركة الميكانيكية
ولكن بما أن هذه العمليات تتم بالذاكرة وقبل الحفظ بالقرص الصلب فأننا قد نواجه مشاكل مع ذلك.
1- الذاكرة محدودة السعة .
2- الذاكرة الحية هي ذاكرة تحتفظ بالمعلومات طالما هنالك تيار كهربائي يغذيها ولذلك ربما تكون هنالك مشكلة من انقطاع التيار الكهربائي عنها .
طبعا بالنسبة لمخدم نظام إدارة قواعد بيانات اوركل لا يسمح بحدوث مثل هذه المشكلة حيث توجد عملية نقل البيانات والتعديلات من الذاكرة إلى الملفات الفيزيائية على القرص الصلب خلال أجزاء زمنية محددة.
ملاحظة :كل قاعدة بيانات يجب أن تكون مرتبطة ب instance
كما يمكن أن تكون قاعدة بيانات مرتبطة ب instance اثنتين على سيفرين يمكنهن الولوج إلى قاعدة البيانات
وهنا ظهر مبدأ ال RAC لزيادة الوثوقية والاتاحية حيث لو هبط احد المخدمين لا تهبط قاعدة البيانات وتبقى قائمة على عملها
قاعدة البيانات هي مجموعة الملفات الفيزيائية والتي تحتوي البيانات وتتألف من
1- بنى منطقية (logical structure)
وهي عبارة عن إغراض قاعدة البيانات , فعليا هي بنى عبارة عن ملفات ولكن لا يتم التعامل معها على شكل ملفات وإنما يتم التعامل معها على شكل جداول ومناظير واجرائيات وتوابع الخ. وهذه الإغراض ما هي الا تعريف مجرد لذلك أطلق عليها بنى منطقية .حيث هي بنى غير موجودة ولكن لها مقابل فيزيائي حقيقي هو عبارة عن ملفات ويمكن إدارة هذه البنى عبر تعليمات برمجية تمكننا من إدارة هذه البنى سبب هذه العملية .
A. عزل مدير قاعدة البيانات عن البنى الفيزيائية والتي هي الملفات
B. بما إن نظام إدارة قواعد بيانات oracle يمكن تنصيبه على معظم نظم التشغيل (ونحن نعرف أن كل نظام تشغيل له طريقة في الحفظ على القرص الصلب من أنماط التقسيم وطرق التقسيم الخ ) هنا كان لا بد من عملية تخزين بشكل مختلف من نظام إلى أخر وبذلك سيجد مدير قاعدة البيانات صعوبة في التعامل مع الملفات ومن هنا كانت أهمية تغليف هذه الملفات ببنى منطقية لتلافي هذه المشكلة وبذلك لا توجد مشكلة حيث ستكون نفس البنية المنطقية على كل نظم التشغيل
وتكون تقسيمات البنية المنطقية من الأكبر حجما :
1- table space : حيث تتألف قاعدة البيانات من عدة table space وتقوم ال table space بتجميع بنى منطقية متشابهة مع بعضها البعض أي هي تحتوى مجموعة من segment و كل قاعدة بيانات يجب إن تحوي table space واحدة على الأقل وتنشا هذه ال table space عند إنشاء قاعدة البيانات وتسمى هذه ال table space ب system table space
2- : segment تتألف من مجموعة من ال extent وهي تقابل ال جدول كبنية منطقية
ولها نوعين data segment و index segment
3- extents : تتألف من مجموعة من block وهي وحدة المساحة المستخدمة على القرص الصلب التي يستخدمها مخدم اوركل
في sql server ال extent يتألف من ثمانية blocks أما في اوركل يتألف ال extents من عدد غير محدود من ال blocks المتجاورة .
4- blocks :في نظم التشغيل عند عملية قراءة من ملف ما فان القراءة تتم عبر أجزاء تسمى blocks كذلك في نظام إدارة قواعد بيانات اوركل عند عملية قراءة فان لها وحدة تسمى block وقد تكون بحجم ال block الخاصة بنظام التشغيل أو اكبر .وهي اصغر وحدة تخزين بنظام إدارة قواعد بيانات أوركل وتكافئ عدد محدد من البايتات ويتعرف بمحدد db_block_size
ويوضح الشكل التالي البنية المنطقية
schema :
بنية منطقية تقابل جميع الإغراض التي تقابل مستثمر ما إي هي بنية يتم تجميع بها إغراض قواعد بيانات التي يمتلكها مستخدم ما. إي عندما نقول schema فإننا نحد بان المستخدم وجميع الاغراض التي يمتلكها .
2- بنى فيزيائية (physical structure ) : ملفات قاعدة البيانات
وهي تتألف من ثلاثة أنواع :
1- data files وهي الملفات التي تحتوي على بيانات قاعدة البيانات
2- redo log files : الملفات التي تستخدم لتسجيل جميع التعديلات التي تجرى على البيانات ويجب على كل قاعدة بيانات أن تحتوي على ملفين على الأقل حتى تبدأ العمل . وعملية الكتابة في هذه الملفات هي بشكل دائري
حيث لنفترض وجود ملفين يقوم المخدم بتسجيل الإحداث بالملف الأول وعندما يمتلئ ينتقل إلى الملف الثاني ويسجل به التعديلات الآن عندما يمتلئ الملف الثاني يعود إلى الملف الأول ويعيد الكتابة فوق التسجيلات القديمة بمعنى آخر يقوم بمسح البيانات المسجلة مسبقا وتسجيل بيانات جديدة بالملف وهذه الطريقة تمكننا من عمليات الاسترجاع ولكن بحدود معينة حسب العمليات المسجلة .طبعا لزيادة الوثوقية يمكننا إنشاء نسخة من redo log على قرص صلب آخر أو حتى إنشاء أكثر من نسخة
3- control files: كل قاعدة بيانات يجب أن تحتوي على control file واحد على الأقل . يحوي معلومات عن البنية الفيزيائية لقاعدة البيانات مواقع على الأقراص الصلبة والسواقات لجميع ال redo log file and data file . أي عند عمل تشغيل لقاعدة البيانات فانه عن طريق control files يتم تحديد الملفات التي سترتبط معها أي يتم تحيد الملفات على الأقراص والسواقات . هذه المواقع مخزنة على control files كذلك يحوي control files اسم قاعدة البيانات وتاريخ إنشاؤها
ويوضح المخطط التالي العلاقة بين البنى المنطقية والبني الفيزيائية
حيث يقابل كل table space ملف فيزيائي data file واحد أو أكثر والعكس ليس صحيحا حيث لا يمكن أن يكون لdata file أكثر من table space
يتبع باذن الله