Oracle内存扩容后,Oracle无法启动问题处理
问题现象
SQL> alter system set sga_max_size=9600M scope=spfile;
System altered.
SQL> alter system set sga_target=9600M scope=spfile;
alter system set pga_aggregate_t
System altered.
SQL> arget=3198M scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
Additional information: 1811939328
Additional information: 1
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@oracle-sync ~]$ free -g
total used free shared buffers cached
Mem: 31 0 30 0 0 0
-/+ buffers/cache: 0 30
Swap: 7 0 7
[oracle@oracle-sync ~]$ free -m
total used free shared buffers cached
Mem: 32108 686 31421 0 25 279
-/+ buffers/cache: 381 31726
Swap: 8015 0 8015
[oracle@oracle-sync ~]$ getconf PAGE_SIZE
4096
[oracle@oracle-sync ~]$ /sbin/sysctl -a | grep shm
error: permission denied on key 'kernel.cad_pid'
error: permission denied on key 'kernel.usermodehelper.bset'
error: permission denied on key 'kernel.usermodehelper.inheritable'
kernel.shmmax = 4126898176
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.shm_rmid_forced = 0
vm.hugetlb_shm_group = 0
[oracle@oracle-sync ~]$ exit
logout
处理方案
[root@oracle-sync ~]# vim /etc/sysctl.conf #修改kernel参数
kernel.shmmax = 34359738367
kernel.shmall = 8388608
检查参数修改
[root@oracle-sync ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 8388608
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
kernel.shmmax = 34359738367
[root@oracle-sync ~]# su - oracle
[oracle@oracle-sync ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 6 13:28:21 2024
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.0021E+10 bytes
Fixed Size 2261848 bytes
Variable Size 2181041320 bytes
Database Buffers 7818182656 bytes
Redo Buffers 19894272 bytes
Database mounted.
Database opened.
SQL>
启动成功。
参考文档:https://www.cnblogs.com/ywcz060/p/5566086.html