oracle 11g 账号锁定未开启HugePagesORACLEsession剧增时引起的一次悲剧

故障简单描述一下:LINUX系统未开启HugePages,主机内存将近300G,SWAP是32G。ORACLE 的 SGA_MAX_SIZE设置是主机内存的将近80%,SGA_TARGET设置是主机内在的将近60%,正常情况下数据库session大约在将近500。故障当天业务有变化,session数增加了一倍,达到上1000个,内存紧张,用到了SWAP空间。

解决:找时间关数据库,重新配置HugePages,重启数据库后观察,内存消耗较少,与未开启HugePages之前是数量级对比。Hugepage可以减轻cpu的负担,还可以减少系统内存的消耗;一般情况下建议linux的数据库系统配置Hugepage(特别是内存大、SESoracle账号SION多).

会话数600多时
 

[oracle@* ~]$ ps -ef|grep LOCAL| wc -l613[oracle@* ~]$ ps -ef|grep LOCAL| wc -l647[oracle@ ~]$ free -mtotal used free shared buffers cachedMem: 257927 255079 2847 0 64 148001-/+ buffers/cache: 107013 150914Swap: 31999 13738 18261[oracle@ ~]$ cat /proc/meminfo |grep PageTPageTables: 94353044 kB[oracle@ ~]$ free -mtotal used free shared buffers cachedMem: 257927 255182 2745 0 64 147743-/+ buffers/cache: 107373 150553Swap: 31999 13981 18018[oracle@ ~]$ ps -ef|grep LOCAL| wc -l654[oracle@~]$ cat /proc/meminfo |grep PageTPageTables: 95038204 kB

会话数上1000时,
 

[oracle@ ~]$ cat /proc/meminfo |grep PageTPageTables: 110855888 kB[oracle@ ~]$ ps -ef|grep LOCAL| wc -l1016

补充下配置HugePages后的使用情况

[oracle@ ~]$ cat /proc/meminfo |grep PagePageTables: 164464 kB[oracle@~]$ ps -ef|grep LOCAL|wc -l429

 

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。