服务器增加内存后无法重启数据库的问题及解决 (36天)

前几天生产环境需要做服务器的扩容,把原本64G的内存扩到了128G.然后调整了一些其他的kernel参数,在此基础上需要调整sga的大小,以便分配更多的缓存。 环境是11gR2的RAC环境,这时候rac有一个明显的优点就显现出来了,就是没有downtime。一个实例一个实例的改动,调整kernel,db参数都很方便管理。 所在的每个服务器只有一个oracle_home,各有两套rac环境在同一个unix账户下。所以我启停数据库的时候也是一套环境一套环境的来。反正节点也不多。 我先是按照要求把sga调整了一下,从20G调整到40G,这样一个服务器两套环境就占用80G,还有68G的空余。 然后保证另一个节点能够正常failover之后,开始改动,很多改动完一套环境,倒也没出什么问题, 开始第二套环境的时候,按照步骤先启停,做检查。 然后准备重启数据库的时候,报了下面的错误。显示内存问题,还有空间的问题,我检查了一把空间情况,没有发现什么问题。 用free -m检查内存使用情况,空余内存还多着呢。 Connected to an idle instance. SQL> startup nomount ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device SQL> !oerr ora 27102 查看metalink(ID 301830.1),说是内核参数的配置不够。 内核参数的值如下: Last login: Sun Mar 30 22:42:16 2014 from xxxx -bash-4.1$ cat /proc/sys/kernel/shmall 16383998 -bash-4.1$ cat /proc/sys/kernel/shmmax 67108855808

CAUSE

shmall is the total amount of shared memory, in pages, that the system can use at one time.

SOLUTION

Set shmall equal to the sum of all the SGAs on the system, divided by the page size.

来做个演算, shmall应该是shmmax/page_size=67108855808/4096=16383998,这个和当前的设置相等 但是同一个unix账户下有两套环境,需要分配两套sga。所以shmall就远远不够了,需要同时修改shmmax,一般建议为内存的90%左右。 调整后参数值如下: -bash-4.1$ cat /proc/sys/kernel/shmall 33030178 -bash-4.1$ cat /proc/sys/kernel/shmmax 135291609088 然后需要sysctl给激活一下。 再重启数据库就没有问题了。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-04-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏L宝宝聊IT

Squid代理服务器

17411
来自专栏csxiaoyao

redis及php扩展配置(windows+php5)

3446
来自专栏乐沙弥的世界

Linux下配置apache与Tomcat连接

参考: Linux下编译安装Apache httpd 2.4 Linux下安装tomcat8

462
来自专栏文渊之博

SqlServer服务器和数据库角色

首先我们来阐述服务器(实例级别)的权限,实例级别和数据库级别权限的最大不同在于:实例级别的权限是直接授权给登录名,而数据库级别的全显示授予数据库用户的,然后数据...

17310
来自专栏用户2442861的专栏

Nginx工作原理和优化、漏洞。

http://blog.csdn.net/hguisu/article/details/8930668 (排名100多bolg写的很好)

141
来自专栏SDNLAB

OpenDaylight与Mininet应用实战之OpenFlow协议分析

1 实验目的 在实验平台上熟悉SDN原理操作,通过wireshark抓包工具可以直接看到控制器与OVS交换机的通信过程、分析OpenFlow(以下简写为OF)协...

33510
来自专栏杨建荣的学习笔记

服务器搬迁之后的准备工作和应对

服务器搬迁后不是简单能连接上服务器就可以了,还有许多的事情需要考虑,否则服务器不可用还是白搭。 我大体碰到了如下的一些问题,也能够反应出来对于系统的各种...

3436
来自专栏Janti

每天学一点Docker(1)

Docker能做些什么? 1.docker能够解决虚拟机能够解决的问题 2.隔离应用依赖 3.创建应用镜像并复制 4.创建容易分发的即启即用的应用 5.dock...

3827
来自专栏云计算教程系列

如何在CentOS 7上添加Swap

使服务器响应更快,并防止应用程序中出现内存不足错误的最简单方法之一是添加一些swap空间。Swap是存储驱动器上的一个区域,操作系统可以在该区域临时存储无法再保...

911
来自专栏运维小白

10.5 nload 命令

监控系统状态 nload命令,监控网卡流量 yum install -y epel-release yum install -y nload 安装nloa...

1665

扫描关注云+社区