您的位置:首页 > 数据库 > Oracle

【ORACLE】ORA-27102: out of memory报错的处理

2014-08-08 13:45 162 查看
************************************************************************
****原文: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,实例可以启动了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: