Geçtiğimiz günlerde veri tabanı üzerinde bir upgrade işlemi gerçekleştirdik. Enteresan bir şekilde upgrade sonrası düzgün olarak çalışan bir süreç hatalı olarak sonlandığı bilgisi geldi. İncelediğimde aşağıdaki hatayı aldığımızı fark ettim.
ORA-00028: your session has been killed
ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT of 4000 MB
Problem kabaca şu şekilde, PGA alanı mevcut oturumlar için kullanılan bir alan ve 11G üzerinde bu alan kapasiteye bağlı olarak bağımsız bir şekilde büyüyebiliyor. 12C ve sonrasında ” pga_aggregate_limit ” paremetresi tanıtıldı. Bu parametre bizi sınırlandırdığı için hataya sevk ediyor. Aslında yapılacak ilk iş kill olan işlem neden bu kadar kaynak tüketiyor onu bulmak. Hızlı çözümlere bakacak olursak,
Örneğin “pga_aggregate_limit ” limitini 0 yapabilirsiniz.
alter system set pga_aggregate_limit=0 scope=both;
Yada limiti yükseltebilirsiniz.
alter system set pga_aggregate_limit=4096M scope=both;