物理内存充足却无法增加SGA

客户一Linux服务器,物理内存32G,为SGA仅分配1.5G,在增加SGA到20G时,无法正常启动,报错如下。


点击(此处)折叠或打开

  1. SQL> startup

  2. ORA-27102: out of memory
  3. Linux-x86_64 Error: 28: No space left on device
之前修改的是SGA_TARGET和SGA_MAX_SIZE参数,写入了spfile。先按如下方法恢复原参数,以让Oracle正常启动。
http://blog.itpub.net/22621861/viewspace-1316205/

原因是sysctl参数shmall过小,原参数为

点击(此处)折叠或打开

  1. kernel.shmall = 2097152
该参数值表明内存页数,默认1页大小为4K。

只要增大该参数,SGA就可以正常增加了。


点击(此处)折叠或打开

  1. vi /etc/sysctl.conf

  2.     kernel.shmall = 16777216

  3. sysctl -p
配置spfile参数部分略过。




请使用浏览器的分享功能分享到微信等