一个oracle同时开启多个实例,解决 out of memory问题

  1.  在64位linux下使用64位版本的oracle,即使把shmmax参数的大小设置系统可用内存的一半,  
  2. 当把SGA增加到接近一半的系统内存时候,当startup实例的时候,可能得到以下错误  
  3. SQL> startup nomount  
  4. ORA-27102: out of memory  
  5. Linux-x86_64 Error: 28: No space left on device  
  6. Changes  
  7. shmall is too small, most likely is set to the default setting of 2097152  
  8. $ cat /proc/sys/kernel/shmall  
  9. 2097152  
  10. shmall is the total amount of shared memory, in pages, that the system can use at one time.   
  11. shmall是系统在所有页同一时间使用的共享内存段的总数  
  12. 解决办法  :
  13. 设定shmall的值为等同于在系统中所有SGA占用内存大小除以分页大小的得出的最后的值  
  14. 用以下命令得到分页的大小  
  15. $ getconf PAGE_SIZE   
  16. 4096  
  17. 例如,如果系统中所有SGA的综合为16Gb,然后getconf PAGE_SIZE 得出的结果是4096(4k)  
  18. 那么shmall就设定为4194304页  
  19. 用root用户在/etc/sysctl.conf 文件中设定shmall为 4194304  
  20. kernel.shmall = 4194304  
  21. 设定后执行以下命令  
  22. $ sysctl -p  
  23. $ cat /proc/sys/kernel/shmall  
  24. 4194304  
  25. 以上命令无须重启  
  26. 切换到oracle用户,重新执行startup命令  
  27. 修改/etc/sysctl.conf 是一个永久的解决办法(适用于开机时间) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值