Oracle 使用大内存出现:ORA-27102

文章版权所有Jusin Haoluckyfriends),支持原创,转载请注明。
1.1. Oracle 使用大内存出现:ORA-27102
1.1.1. 问题现象:

发现其sga太小:

SQL> show parameter sga

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

lock_sga boolean FALSE

pre_page_sga boolean FALSE

sga_max_size big integer 2G

sga_target big integer 2G

SQL> show parameter spfile;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string /u01/app/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora

SQL> create pfile='/u01/app/oracle/initorcl20100705.ora' from spfile;

Done

SQL> alter system set sga_max_size=14G scope=spfile;

System altered

SQL> alter system set sga_target=14G scope=spfile;

System altered

SQL> alter system set optimizer_index_cost_adj=40;

SQL> alter system set optimizer_dynamic_sampling=4;

SQL>

重启数据库报错:

SQL> startup

ORA-27102: out of memory

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

1.1.2. 解决方法:

检查操作系统参数:

[root@ncdb Server]# sysctl -a |grep sem

kernel.sem = 250 32000 32 128

[root@ncdb Server]# sysctl -a |grep file-max

fs.file-max = 697584

[root@ncdb Server]# sysctl -a |grep ip_local

net.ipv4.ip_local_reserved_ports =

net.ipv4.ip_local_port_range = 32768 61000

[root@ncdb Server]# sysctl -a|grep rmem_default

net.core.rmem_default = 129024

[root@ncdb Server]# sysctl -a|grep wmem_default

net.core.wmem_default = 129024

[root@ncdb Server]# sysctl -a|grep rmem_max

net.core.rmem_max = 131071

[root@ncdb Server]# vi /etc/sysctl.conf

# Controls the maximum size of a message, in bytes

kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue

kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes

kernel.shmmax = 68719476736

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

kernel.shmall = 268435456

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

fs.file-max = 697584

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=1048576

net.core.rmem_max=1048576

net.core.wmem_default=1048576

net.core.wmem_max=262144

[root@ncdb Server]# 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 = 268435456

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 697584

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 1048576

net.core.wmem_max = 262144

接着启动可以正常启动数据库

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14710393/viewspace-1102085/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14710393/viewspace-1102085/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值