DBAtlas · Veritabanı operasyon atlası

ORA-27102: out of memory

Oracle

Ne 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.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar