oracle--数据库扩容后出现ORA-27102

一,问题描述

Connected to an idle instance.
SQL> startup nomount
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
SQL> !oerr ora 27102

二,解决思路

查看metalink(ID 301830.1),说是内核参数的配置不够。
内核参数的值如下:
Last login: Sun Mar 30 22:42:16 2014 from xxxx
-bash-4.1$ cat /proc/sys/kernel/shmall
16383998
-bash-4.1$ cat /proc/sys/kernel/shmmax
67108855808

CAUSE

shmall is the total amount of shared memory, in pages, that the system can use at one time.
SOLUTION

Set shmall equal to the sum of all the SGAs on the system, divided by the page size. 

来做个演算,

shmall应该是shmmax/page_size=67108855808/4096=16383998,这个和当前的设置相等
但是同一个unix账户下有两套环境,需要分配两套sga。所以shmall就远远不够了,需要同时修改shmmax,一般建议为内存的90%左右。

调整后参数值如下:
-bash-4.1$ cat /proc/sys/kernel/shmall
33030178

-bash-4.1$ cat /proc/sys/kernel/shmmax
135291609088

然后需要sysctl给激活一下。

再重启数据库就没有问题了。
侵删:https://cloud.tencent.com/developer/article/1059524

 

posted on 2019-08-28 15:12  kingle-l  阅读(488)  评论(0编辑  收藏  举报

levels of contents