ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10g rac宕机的猜想

10g rac宕机的猜想

原创 Linux操作系统 作者:tonglei2000 时间:2012-02-02 10:28:01 0 删除 编辑
下面这个案例无法解决,只能靠猜,靠直觉了。
用户的一套rac不能访问,我赶紧登上去,登录特别慢,输入任何命令都要等等等。。。后来发现两个操作系统的hdisk100%忙。过了几分钟,系统忽然很快了,一检查,数据库宕了。
从数据库宕机开始查起,rac节点驱逐。资源都那样了,相互之间交互cache信息肯定是要延时的,最后超时只能rac异常,驱逐节点是必然的。
当时的资源到底怎么了,磁盘100%,任何操作都无法完成了。磁盘干吗呢,换页,确定一定以及肯定是换页。
换页,为什么换页,16c,内存就是64gb。sga用了48个g,pga用了8个g。调的确实有点大。但这不是主要原因,主要原因是aix系统参数有些需要调整的没有调整,导致文件缓存占用大量内存,操作系统把sga中有些内存页换页到页面空间,导致hdisk忙。内存增长了,可能包括pga因为连接数变大了,还有就是操作系统使用很多内存搞文件缓存,从而置换大量系统物理内存,一置换,硬盘就忙了。
适当调整sga;稍微小一点。主要是操作系统的参数。摘除一下网络高人关于aix安装oracle内存调整的方法:
3、修改系统参数
主要是性能需要内存管理
#vmo -p -o v_pinshm=1 #Oracle需要,pin住SGA的需要
#vmo -p -o minperm=5 #百分比% ,文件系统cache最小内存使用
#vmo -p -o maxclient=20 #百分比% ,jfs2与nfs最大文件系统cache使用
#vmo -p -o maxperm=20 #百分比% ,普通文件系统最大文件系统cache使用
#vmo -p -o minfree=1200 #120*cpu个数 ,内存空闲
#vmo -p -o maxfree=1280 #128*cpu个数 ,内存空闲
内存管理可选
#vmo -p -o strict_maxperm=0 #默认是0,建议不要改到1,1为硬限制,可能会触发bug
#vmo -p -o strict_maxclient=0 #默认1,可以改为0,一般不改
文件系统
#ioo -p -o j2_nBufferPerPagerDevice=512
ha的需求,HA情况下建议修改,但也不是强行要求
#no -p -o routerevalidate=1
#no -p -o tcp_finwait2=240
#no -p -o tcp_recvspace=262144
#no -p -o tcp_sendspace=262144
#no -p -o rfc1323=1
其中,-p表示修改对当前与重新启动生效,如果只能重新启动或者重新连接生效的,将提示重起或者重新连接后生效,如果是-r参数,则表示只是重新启动后生效。修改结果可以参考文件
#more /etc/tunables/nextboot
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# bos520 src/bos/usr/sbin/perf/tune/nextboot 1.1
#
# Licensed Materials - Property of IBM
#
# (C) COPYRIGHT International Business Machines Corp. 2002
# All Rights Reserved
#
#
US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
# IBM_PROLOG_END_TAG
vmo:
        minfree = "1440″
        maxfree = "1536″
        maxperm% = "20″
        maxclient% = "20″
        minperm% = "5″
        v_pinshm = "1″
ioo:
        j2_nBufferPerPagerDevice = "512″
no:
        routerevalidate = "1″
        tcp_finwait2 = "240″
        tcp_recvspace = "262144″
        tcp_sendspace = "262144″
        rfc1323 = "1″
 
4、设置AIXTHREAD_SCOPE=S
控制争用作用域。P 意味着基于进程的争用作用域(M:N)。S 意味着基于系统的争用作用域(1:1)。
echo $AIXTHREAD_SCOPE(这是由内部打开的,因此初始的缺省值不可以由命令 echo 看到)
AIXTHREAD_SCOPE={P|S},用命令export AIXTHREAD_SCOPE = {P|S} 更改会在 shell 中立即生效。在退出这个 shell 之前一直有效。当加上命令 AIXTHREAD_SCOPE={P|S} 到文件 /etc/environment 时会产生持久的变化
在ORACLE 9i+Aix 4.3 or Aix 5.1的环境下,设置该变量可以大幅度的减少进程内存的使用量,在Aix 5.2以上,请参考另外一种方法,IY49415+Oracle patch p3028673,详细信息参考oracle bug 3028673
 

关于AIX上VMO调整参数的若干说明
 
 
 
 
最近,关于AIX机器上虚拟内存参数调整的问题出现了好几次,也调过好几台机器的参数,现结合网上的文档,把这部分知识理一理,做一下记录。
1.在AIX系统中,内存可以简单的分为两类,计算型内存和文件型内存,
在AIX操作系统中,可以使用topas命令查看整个系统的运行情况,其中一个重要的部份是系统的内存使用情况,以及交换情况:
MEMORY
Real,MB   16032
% Comp     83.2
% Noncomp   9.9
% Client    9.9
PAGING SPACE
Size,MB   16384
% Used      3.3
% Free     96.6
  在一个使用裸设备的系统中,文件型内存,即上面的%Noncomp,%Client,只需要使用整个系统很少的内存;而把大部份的内存作为计算型内存(%Comp)来使用,这部份内存量主要为ORACLE SGA和PGA所用,其中ORACLE SGA 为pinned memory.
  根据系统内存大小,设定系统可以pin住的最大值:
     maxpin%=80   --此值可以升高
     v_pinshm=1   --允许pin住内存
     接下来是三个控制文件型内存的参数的值:
     maxclient% = 10  --文件型内存可使用内存总的百分比的最大值,= 100%,系统便开始产生交换,系统的PAGING SPACE会持续的增长,影响到产品库的安全。
     4.一般的数据库服务器,文件型内存可以使用较少的空间,因为文件型内存并不主动释放,可能造成内存资源的短缺及Paging Space使用率过高,所以数据库服务器上maxclient、maxperm、minperm的值不宜过大,典型值如下:
     maxclient% = 8    
     maxperm% = 12  
     minperm% = 5    
如何更改这三个参数呢,  在AIX5.3上,可以使用 vmo 命令,此命令设置或显示所有虚拟内存管理器调整参数的当前值或下一个引导值。还可以用此命令进行永久性更改,或将更改推迟到下一次重新引导之后生效。此命令是设置参数还是显示参数,要由所带标志来决定。带 -o 标志的话,两个操作都执行。它既可以显示参数的值,也可以为参数设置新值。
如果在修改这些参数前,想查看这些参数的值,则可以用下面的命令:
vmo -L 或者 vmstat -v 或者vmo -a
调整:vmo -p -o maxclient%=8
     vmo -p -o maxperm%=12
     vmo -p -o minperm%=5
利用-p参数,是立即生效的,不需要重启,下次重启仍然有效。
如果是-r参数,是不立即生效的,重启生效,turns on the updating of the
/etc/tunables/nextboot file.重启生效的参数记录在 /etc/tunables/nextboot。
因为参数maxperm充当的是软限制,所以文件型内存的占用率仍然可以超过maxperm的设定值,如果需要进行强制限制,则需要将参数strict_maxperm的值设为1,该参数的缺省值是0,但此方法需要谨慎使用。
备注:也许有人不是很熟悉vmo,反而熟悉vmtune,其实他们是一样的
AIX 5.3以前,查看参数值 vmtune -a
            修改minperm和maxperm的值为5%和20%,vmtune -p 5 -P 20
            如果是64位内核,vmtune64 -p 5 -P 20
AIX 5.3:    vmo -p -o maxperm%=20
            vmo -p -o minperm%=5
 
 

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

下一篇: rac宕机分析
请登录后发表评论 登录
全部评论

注册时间:2010-10-19

  • 博文量
    109
  • 访问量
    212429