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


问题描述:

原先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,实例可以启动了

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

相关内容