Bu makalemizde 11 g versiyonu ile birlikte Oracle veri tabanının bellek yönetiminin nasıl olduğundan bahsedeceğiz.
Biraz geriye dönersek 9i ve öncesinde Oracle bellek yönetimini nerdeyse tamamı ile elle yapılmasını mecbur kılıyordu yani daha önceki makalelerimizde bahsettiğimiz üzere SGA ve PGA alanlarının boyutları tamamı ile sizin yönetiminizde ve bu bellek parçalarının içerisindeki parçaların boyutları da statik olarak verilmeli ve büyüme ihtiyaçları ADVISOR’lar , istatistikler ile takip edilip DBA tarafından yapılmalıydı.
Oracle 10g versiyonuna geçiş yaptığında beraberinde ASMM (Automatic Shared Memory Management ) yapısınıda getirdi bu yapı avantaj olarak, DBA ler artık bellek alanlarını yönetirken yalnızca SGA ve PGA alanlarına statik değerlerini atayacaklardı. SGA in içerisindeki parçacıklar ise otomatik olarak SGA e verilen alanı paylaşacak ve işin güzel tarafı alanlardan biri büyüme ihtiyacı duyduğunda diğer kısımlardan kullanılmayan bellek alanlarını kullanabileceklerdi. DBA in yönetmesi gereken artık yalnızca PGA ve SGA alanlarının boyutlarıydı. ADVISOR lar da bu yönde değişti.
Oracle 11g versiyonu piyasaya sürdüğünde ise ASMM yapısının beraberinde AMM (Automatic Memory Management ) yapısını da getirdi. Bu yapı ile birlikte Memory_Target parametresi de kullanılır hale geldi. Bu yapıda DBA SGA ve PGA alanlarının değerlerini vermek yerine yalnızca Memory_Target değerinin veriyorlar. PGA ve SGA alanlarının değerleri otomatik olarak Oracle veri tabanı tarafından atanıyor. ASMM den farklı olarak eğer SGA alanının bütün kullanılabilir yapısı kullanılıyor fakat halen bellek ihtiyacı duyuyorsa ihtiyacı olan belleği PGA alanından alabilecek hale gelmiş oldu. ADVISOR lar ise bu versiyonda artık MEMORY_TARGET tavsiyesi verir duruma geldi.
Şu unutulmamalıdır ki istenirse ASMM ve AMM yapıları kapatılıp açılabilir.Bu yapılar çalışır durumdayken diğer parçaların değerleri de verile bilir. Bunun anlamı alt sınır vermektir.