这篇文章主要介绍“怎么解决启动Oracle报错ORA-27102问题”,在日常操作中,相信很多人在怎么解决启动Oracle报错ORA-27102问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决启动Oracle报错ORA-27102问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

SQL> startup pfile='/u01/oracle/product/11gr2/db_home/dbs/initerp.ora'

ORA-27102: out of memory

Linux-x86_64 Error: 28: No space left on device


# 报错原因

# 查看内核参数配置文件,发现关于内存的内核参数被修改成很小的值,这个值远远低于数据库SGA、PGA内存参数设置的值;进而导致数据库无法启动。

$ cat sysctl.conf

# Controls the maximum shared segment size, in bytes

kernel.shmmax = 68719476736


# Controls the maximum number of shared memory segments, in pages

kernel.shmall = 4294967296



fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 536870912

net.ipv4.ip_local_port_range = 9000 65500

kernel.shmall = 2097152

kernel.shmmax = 2147483648


# 解决方法

# 注释掉错误的参数,重新刷新内核参数

[root@erp2 ~]# 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

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

fs.aio-max-nr = 1048576

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65500

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576


SQL> startup pfile='/u01/oracle/product/11gr2/db_home/dbs/initerp.ora'

ORACLE instance started.


Total System Global Area 1.0689E+10 bytes

Fixed Size 2216344 bytes

Variable Size 1946160744 bytes

Database Buffers 8724152320 bytes

Redo Buffers 16945152 bytes

Database mounted.

Database opened.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

到此,关于“怎么解决启动Oracle报错ORA-27102问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!