启动 oracle ORA-12547: TNS:lost contact ORA-27102: out of memory 处理

数据库版本11203 RAC
操作系统版本linux redhat 6.7
打补丁失败启动数据库报错

sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jan 3 23:25:29 2020

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA/RACDB/spfileRACDB.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA/RACDB/spfileRACDB.ora
ORA-12547: TNS:lost contact

查看原来是bin下的oracle文件权限变了改成6751
经典的6751的问题
参考文档 (Doc ID 1307075.1)

再次启动数据库报错

sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jan 3 23:25:29 2020

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
#cat /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
fs.aio-max-nr = 3145728

kernel.shmall = 2097152
kernel.shmmax = 4294967295
fs.file-max = 6815744
vm.swappiness = 10

修改 kernel.shmall = 4194304

$ sysctl -p
$ cat /proc/sys/kernel/shmall
4194304

如果临时解决
echo“ 4194304”> / proc / sys / kernel / shmall

shmall太小,很可能已设置为2097152的默认设置
SHMALL是系统一次可以使用的共享内存总量(以页为单位)。
将SHMALL设置为等于系统上所有SGA的总和除以页面大小。
比如:一个共享内存段的最大大小是16G,那么需
要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下
16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。这时可以将shmmax 参数调整到 16G 了,同时可以修改SGA_MAX_SIZE 和
SGA_TARGET 为 12G(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA
参数及OS 等其他内存使用,不能设置太满,比如16G)。

参考文档(Doc ID 301830.1)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值