oracle怎么启memory,oracle启动遭遇ORA-27102: out of memory

OS: linux 2.6.9-103.ELsmp #1 SMP

DB: 10205, 4节点RAC

背景:

节点1前几天重启维护,3个instance起来了俩,第3个TEST03N1启动时不断报错

$ $ORACLE_HOME/bin/sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Mon Sep 16 04:30:06 2013

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup nomount;

ORA-27102: out of memory

Linux-x86_64 Error: 28: No space left on device

诊断思路:

首先想到的是共享内存耗光了

$ ipcs -a

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status

0xa637e870 0          oracle    640        132120576  17

0x00000000 131073     oracle    660        4297064448 1          dest

0x09c77ebc 229378     oracle    660        4297064448 36

0x9b377f58 262147     oracle    640        4297064448 38

根据当前instance进程数判断,第一行属于ASM,后两个为另外两个instance,而第2行没有被占用,应该是TEST03N1关闭时linux回收共享内存段失败导致的;

$ cat /proc/sys/kernel/shmmax

12884901888

$ cat /proc/sys/kernel/shmall

4194304

PAGESIZE为4K,最大允许共享内存4194304*4096=17179869184,当前已占用4297064448*3+132120576=13023313920,还剩余4156555264=3964M;

而TEST03N1的SGA_MAX_SIZE/SGA_TARGET=4G,所以会报out of memory.

而ipcrm不起作用

$ ipcrm -m 131073

经过一系列测试,可允许设置的SGA_MAX_SIZE/SGA_TARGET最大值为3952M.

此时的共享内存段使用情况

$ ipcs -a

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status

0xa637e870 0          oracle    640        132120576  17

0x00000000 131073     oracle    660        4297064448 1          dest

0x09c77ebc 229378     oracle    660        4297064448 40

0x9b377f58 262147     oracle    640        4297064448 40

0x7ede1a40 557060     oracle    640        4146069504 43

大约还剩余10M左右

SQL> select to_char(17179869184-4297064448*3-132120576-4146069504) from dual;

TO_CHAR(

--------

10485760

SQL> select 10485760/1024/1024 from dual;

10485760/1024/1024

------------------

10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值