Shared Pool
نشر بواسطة : Obay Salah , November 20, 2024
وهو جزء ضروري في الذاكرة SGA وبدونه لا تعمل الInstance، ويتم التحكم فيه من خلال المتغير SHARED_POOL_SIZE، ولكن بالطبع هناك سقف للقيمة التي يمكن أن يأخذها هذا المتغير.
فلو قمت بتهيئة هذا الجزء من الذاكرة بحيث يكون حجم الShared Pool منخفض جداً فلن تعمل الInstance.
ALTER SYSTEM SET SHARED_POOL_SIZE=4M SCOPE=SPFILE;
لاحظ لقد قمت بتغيير حجم الShared Pool للقيمة 4MB لكن الInstance لم تعمل بسبب أن حجم الShared Pool غير كافٍ، وأقل حجم لتشغيل الInstance هو ما يقارب 60MB.
الحل في مثل هذه الحالة حتى تعمل الInstance من جديد هو إنشاء ملف PFILE من الملف SPFILE وذلك لأن ملف الPFILE هو ملف نصي تستطيع تعديل المتغير SHARED_POOL عنه من خلال نظام التشغيل، ثم بعد ذلك قم بإنشاء ملف الSPFILE من ملف الPFILE ومن ثم قم بتشغيل قاعدة البيانات.
تحتوي الShared Pool على أجزاء أخرى أصغر من الذاكرة ولكن يتم إدارتها آلياً عن طريق Oracle وليس هناك تحكم لمدير قاعدة البيانات سوى في حجم الShared Pool.
تستطيع التعرف على هذه الأجزاء من خلال استعلام الواجهة V$SGASTAT.
بالطبع لكل جزء من هذه الأجزاء مهمة خاصة يقوم بتنفيذها لكن كما ذكرت سابقاً ليس لمدير قاعدة البيانات التحكم في هذه الأجزاء وإنما تتم إدارتها عن طريق Oracle.
ومن هذه الأجزاء المهمة SQL AREA وأيضاً LIBRARY CACHE حيث يتم تنفيذ جمل SQL وأيضاً التأكد من صحة العبارات المنفذة، وأيضاً هناك أجزاء أخرى مهمة مثل ROW CACHE وأيضاً ASH BUFFER وغيرها من الأجزاء التي يمكن عرضها بواسطة الاستعلام:
SELECT * FROM V$SGASTAT WHERE POOL='SHARED POOL';
حجم الShared Pool الصغير جداً يؤثر بالطبع على الأداء ولكن لا تهئ الذاكرة Shared Pool بحيث يكون حجمها أكبر من المطلوب فهذا سينعكس أيضاً على الأداء.
لتحديد الحجم الأمثل قم باستخدام المستشار (Shared Pool Advisor).
لتفعيل هذا المستشار قم بتهيئة المتغير STATISTICS_LEVEL ليأخذ القيمة TYPICAL وهي حقيقةً القيمة الافتراضية لهذا المتغير. بعد ذلك يمكنك الاستعلام عن المستشار من خلال الواجهة V$SHARED_POOL_ADVICE، كما يمكنك كذلك التعامل مع المستشار من خلال Database Control.
Comments
لايوجد تعليق حتى الان