【ORACLE】ORA-27102: out of memory報錯的處理

weixin_34259232發表於2017-07-22
************************************************************************
****原文:blog.csdn.net/clark_xu  徐長亮的專欄
************************************************************************

問題描寫敘述:

原先SGA 4G。PGA 2G。

alter system set sga_max_size=30G scope=spfile;

alter system set sga_target=30G scope=spfile;

之後,

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
再次啟動

SQL> startup
ORA-27102: out of memory
Linux-ia64 Error: 28: No space left on device

 

解決方法:

(1)linux下 getconf PAGE_SIZE
                         16384=8K 

          表示虛擬記憶體的一個頁面大小為8K

 (2)檢視cat /proc/sys/kernel/shmall

           524288

          表示同意共享的記憶體頁最大能夠是  524288個頁面。

  (3)算出能夠共享的頁面為:

            524288*(16384/1024)/1024/1024=8G

           之前設定SGA+PGA=6G < 8G 所以沒有報錯。改動sga=30G之後。啟動例項才報ORA-27102: out of memory
Linux-ia64 Error: 28: No space left on device

   (4)改動可共享記憶體為128G

          128*1024*1024/8K=8388608

          在linux下:echo "8388608" > /proc/sys/kernel/shmall

    (5)再次startup,例項能夠啟動了

相關文章