Program Global Area (PGA)
نشر بواسطة : Obay Salah , November 20, 2024
ذكرت سابقًا أن جميع الـ Sessions تتصل بالذاكرة SGA وهي عبارة عن Shared Memory لجميع الـ Sessions التي تتصل بالـ Instance، لكن أيضًا جميع هذه الـ Sessions تتصل بذاكرة أخرى تُسمى (PGA) Program Global Area، يتم تخزين بيانات ومعلومات التحكم لكل Session، هذه المعلومات تُستخدم فقط عن طريق الـ Server Process الذي يخدم هذه الـ Session. يتم إنشاء هذه الـ PGA لحظة فتح الـ Session، والمعلومات التي يتم تخزينها في الـ PGA هي:
- (Session Cursor & Space Stack & Variables)
حجم الذاكرة PGA التي يحتاجها الـ Session يعتمد على نوع العمل الذي يقوم به الـ Session. ومن الإصدار 9i، أصبح من الممكن إدارة هذا الجزء تلقائيًا.
هناك متغيران يتحكمان في هذا الجزء من الذاكرة:
- WORKAREA_SIZE_POLICY: يجب أن يكون هذا المتغير مضبوطًا على القيمة AUTO، وهي القيمة الافتراضية الآن، بينما في الإصدار 9i كانت القيمة الافتراضية هي MANUAL.
- PGA_AGGREGATE_TARGET: هو مجموع حجم جميع الـ PGAs التي تستخدمها جميع الـ Sessions. القيمة الافتراضية لهذا المتغير هي 12% من حجم الذاكرة SGA.
يقوم Oracle بتخصيص ذاكرة PGA لكل Session تتصل بالـ Instance، وحتى إذا وصل حجم الـ PGAs إلى قيمة المتغير PGA_AGGREGATE_TARGET، فإن Oracle سيأخذ الذاكرة من الـ PGA Sessions التي لم تعد مطلوبة من تلك الـ Sessions. هذه الآلية تضمن أن أي Session تحتاج إلى الذاكرة ستتمكن من الوصول إليها.
أما إذا احتاج الـ Session إلى المزيد من الـ PGA وبلغ مجموع الـ PGAs القيمة القصوى (Target)، ولم تكن هناك أي PGA Session غير مستخدمة يمكن استغلالها من قبل هذا الـ Session، ففي هذه الحالة هناك احتمالتان:
- الاحتمالية الأولى هي أن تبقى الذاكرة المطلوبة غير متغيرة، وفي هذه الحالة سيتم تخصيص الذاكرة للـ Session ويتم كسر الـ Target ولكن يجب تجنب هذا الحل قدر الإمكان، لأنه يشير إلى أن الـ Target قد انخفض بشكل كبير.
- الاحتمالية الثانية هي أن يرفض Oracle تخصيص المزيد من الذاكرة، وبدلاً من ذلك سيتم استخدام هذه الـ Session للمساحة المؤقتة التي يستخدمها الـ Session في الـ Tablespace Temporary. ولا شك أن ذلك سيؤثر على الأداء.
يمكن مراقبة عمل الـ PGA عن طريق استعلام الـ V$PGASTAT. أيضًا يمكنك استخدام المستشار V$PGA_TARGET_ADVICE.
Comments
لايوجد تعليق حتى الان