-bash-3.2$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 18 00:02:04 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-27102: out of memory
[root@slcah775 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_local_port_range = 32768 61000
net.ipv4.tcp_tw_recycle = 1
kernel.panic = 60
kernel.sysrq = 1
kernel.shmall = 45097156608
kernel.shmmni = 4096
kernel.shmmax = 37977622528
kernel.sem = 250 48000 100 192
kernel.core_uses_pid = 1
fs.suid_dumpable = 1
fs.file-max = 6815744
fs.aio-max-nr = 3145728
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
net.core.rmem_default = 524288
net.core.wmem_default = 524288
[root@slcah775 ~]# /sbin/shsctl -n kernel.shmmax
-bash: /sbin/shsctl: No such file or directory
[root@slcah775 ~]# /sbin/sysctl -n kernel.shmmax
37977622528
[root@slcah775 ~]# exit
logout
-bash-3.2$ id
uid=61012614(ora12614) gid=64012614(ems12614) groups=64012614(ems12614)
-bash-3.2$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 18 00:11:17 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2235208 bytes
Variable Size 989856952 bytes
Database Buffers 3271557120 bytes
Redo Buffers 12132352 bytes
Database mounted.
Database opened.
It works
SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 18 00:02:04 2014
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
usually it is because the SGA_target is greater than the share mem in the OS.So we could solve it by the way of increasing the sharing memory in the OS.
-bash-3.2$ /usr/local/packages/aime/ias/run_as_root "su -"usually it is because the SGA_target is greater than the share mem in the OS.So we could solve it by the way of increasing the sharing memory in the OS.
[root@slcah775 ~]# vi /etc/sysctl.conf
Change the parameter kernel.shmall = 45097156608
[root@slcah775 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_local_port_range = 32768 61000
net.ipv4.tcp_tw_recycle = 1
kernel.panic = 60
kernel.sysrq = 1
kernel.shmall = 45097156608
kernel.shmmni = 4096
kernel.shmmax = 37977622528
kernel.sem = 250 48000 100 192
kernel.core_uses_pid = 1
fs.suid_dumpable = 1
fs.file-max = 6815744
fs.aio-max-nr = 3145728
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
net.core.rmem_default = 524288
net.core.wmem_default = 524288
[root@slcah775 ~]# /sbin/shsctl -n kernel.shmmax
-bash: /sbin/shsctl: No such file or directory
[root@slcah775 ~]# /sbin/sysctl -n kernel.shmmax
37977622528
[root@slcah775 ~]# exit
logout
-bash-3.2$ id
uid=61012614(ora12614) gid=64012614(ems12614) groups=64012614(ems12614)
-bash-3.2$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 18 00:11:17 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2235208 bytes
Variable Size 989856952 bytes
Database Buffers 3271557120 bytes
Redo Buffers 12132352 bytes
Database mounted.
Database opened.
It works
本文详细描述了如何通过调整sysctl.conf参数解决Oracle数据库因内存不足导致的启动失败问题,包括增加共享内存大小,确保数据库成功启动并运行。

被折叠的 条评论
为什么被折叠?



