本人负责一个政府办公自动化系统
  数据库在hp-unix 安装了RAC ( 10.2.0.3),只要session会话没有及时的释放的话,数据库告警日记就会报内存空间不足,导致数据库挂掉,其中的一个实例offline 
前段报 tns无法分发服务 等告警日记如下:
rocess m000 died, see its trace file
Thu Apr  5 14:10:51 2012
ksvcreate: Process(m000) creation failed
Thu Apr  5 14:11:51 2012
Process startup failed, error stack:
Thu Apr  5 14:11:51 2012
Errors in file /oracle/app/oracle/admin/jtdb/bdump/jtdb1_psp0_5264.trc:
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
Thu Apr  5 14:11:52 2012
Process m000 died, see its trace file
Thu Apr  5 14:11:52 2012
ksvcreate: Process(m000) creation failed
Thu Apr  5 14:12:53 2012
Process startup failed, error stack:
Thu Apr  5 14:12:53 2012
Errors in file /oracle/app/oracle/admin/jtdb/bdump/jtdb1_psp0_5264.trc:
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
Thu Apr  5 14:12:54 2012
Process m001 died, see its trace file
Thu Apr  5 14:12:54 2012其中想了好多解决方法:
服务器端设置了failover和LOAD_BALANCE设置 prorfile 来监视用户session时间,
全部失败,问题依然的存在,

解决方案 »

  1.   

    你怎么知道是会话没有释放内存导致问题,而不是你的会话异常了呢?或者数据库异常,或者系统异常上传你的awr报告,无证据不做任何猜测
      

  2.   

    ORA-27300: OS system dependent operation:fork failed with status: 12
    ORA-27301: OS failure message: Not enough space
    ORA-27302: failure occurred at: skgpspawn3问题找出来了,修改内核参数,发现网络有点问题,心跳有时候会掉,别踢出了实例。导致session突然变大,
    还有内存的问题,内存太小啊,
      

  3.   

    要看session的状态; 如果是inaction 可以使用 alter profile default limit idle_time 90....; 这样更改; 
      

  4.   

    修改内核参数,发现网络有点问题,心跳有时候会掉,别踢出了实例。导致session突然变大被提出了实例,sesssion为什么会变大呢。最大的时候多少
      

  5.   

      这个问题还在找啊,session 为200以上。应用就会挂掉。process=150