ORA-27102: out of memory
OracleNe demek?
Oracle örneği başlarken işletim sisteminden istediği paylaşımlı bellek (SGA) segmentini ayıramadı. Genellikle ORA-27102 ile birlikte alt seviyede bir OSD/Linux hata koduyla (ör. Linux-x86_64 Error: 28: No space left on device) görülür.
Neden olur?
SGA için istenen bellek, çekirdeğin izin verdiği paylaşımlı bellek limitlerini (shmmax, shmall) aşıyor; sunucuda yeterli fiziksel RAM/swap yok; ya da HugePages yapılandırması eksik/yetersiz olduğu için büyük SGA ayrılamıyor. SGA_MAX_SIZE artırıldıktan sonra sık görülür.
Nasıl çözülür?
Çekirdek paylaşımlı bellek parametrelerini artırın: /etc/sysctl.conf içinde kernel.shmmax ve kernel.shmall değerlerini SGA'yı kapsayacak şekilde ayarlayıp sysctl -p çalıştırın. HugePages kullanıyorsanız vm.nr_hugepages değerini SGA'ya göre hesaplayıp ayarlayın. Sunucudaki toplam RAM ve swap'i kontrol edin; gerekiyorsa SGA_MAX_SIZE / SGA_TARGET değerlerini düşürün.