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

本文详细介绍了在Oracle数据库中遇到SGA和PGA内存设置过大导致启动失败的问题,以及如何通过调整Linux系统的共享内存限制来解决这个问题。通过计算可共享内存页面并使用`echo`命令更新`/proc/sys/kernel/shmall`参数,成功启动了Oracle实例。
摘要由CSDN通过智能技术生成

问题描述:

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

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值