Oracle System Global Area
نشر بواسطة : Obay Salah , November 19, 2024
ذكرنا أن الـ Instance تتكون من Memory Structure and Processes وعرفنا كذلك أن Memory Structure تتكون من جزئين: System Global Area (SGA) وProgram Global Area (PGA). هنا سنتحدث عن الجزء SGA من الذاكرة التي تستخدمها قاعدة البيانات أوراكل، ومعرفة أغراض هذه الأجزاء من الذاكرة هو أمر حيوي بالنسبة لمدير قاعدة البيانات.
بالطبع، تهيئة هذه الذاكرة تعتمد أيضاً على نظام التشغيل الذي تستخدمه قاعدة البيانات. فعلى سبيل المثال في نظام التشغيل Solaris يقوم مدير النظام System Administrator بتهيئة هذا الجزء من الذاكرة عن طريق تهيئة Kernel.
تنقسم الذاكرة SGA إلى عدد من الأجزاء، جزء منها مطلوب ولابد منه:
- The Shared Pool
- The Log Buffer
- The Database Buffer Cache
وأجزاء أخرى اختيارية:
- The Large Pool
- Java Pool
- Stream Pool
- The database buffer cache keep pool
- The database buffer cache recycle pool
- The database buffer cache nK block size pools
هذه هي أجزاء الذاكرة SGA، وبالطبع تستطيع التحكم في هذه الأجزاء من خلال متغيرات موجودة في ملف المتغيرات Parameter File وتسمى مثل هذه المتغيرات Instance Parameters. وعدد من هذه المتغيرات هي Dynamic بمعنى أنك تستطيع إعادة التهيئة دون إغلاق قاعدة البيانات (Downtime).
البعض يمكن أن يتم التحكم فيه آلياً حتى قبل أن نفعل الخاصية Automatic Shared Memory Management، وبعضهم Static بمعنى أنك لا تستطيع إعادة تهيئتهم دون إغلاق الـ Instance.
بالطبع تهيئة الـ SGA تؤثر على الأداء لذا يوجد مستشارون في قاعدة البيانات أوراكل يساعدونك في تقرير الحجم الملائم لعدد من أجزاء الذاكرة SGA.
لمعرفة الحجم العام للذاكرة SGA يمكن إجراء الاستعلام التالي:
select sum(bytes)/(1024*1024) size_in_mb from v$sgastat;
هذا هو حجم الذاكرة SGA بالميغابايت، لاحظ أن هذا الناتج هو مجموع عدد من الأجزاء الصغيرة.
يمكن أن يتغير الحجم النهائي للذاكرة SGA بتغيير حجم المكونات ولكن بالجملة لا يمكن أن يتجاوز الحجم النهائي للذاكرة SGA القيمة المحددة في المتغير SGA_MAX_SIZE.
إذاً، أكبر حجم يمكن أن تصل إليه الذاكرة SGA هو SGA_MAX_SIZE، لذا فإن الحجم النهائي للذاكرة SGA دائماً هو أقل أو يساوي قيمة هذا المتغير.
أما إذا لم يتم تهيئة هذا المتغير فإنه يأخذ في الأصل حجم الذاكرة SGA لحظة تشغيلها.
مكونات الذاكرة SGA ما عدا الجزء Log Buffer يتم قياسها بواسطة وحدة تسمى Granule، وهي القطعة من الذاكرة وحجم هذه الGranule يتفاوت طبقاً للحجم الكلي للذاكرة SGA.
فحجم الGranule يكون 4MB إذا كان مجموع حجم الـ SGA لا يتجاوز 1000MB أو 16MB إذا تجاوز حجمها ذلك. في نظام التشغيل ويندوز يكون حجم الGranule 8MB إذا تجاوز مجموع حجم الذاكرة SGA القيمة 1GB.
Comments
لايوجد تعليق حتى الان