连接池配置oracle aix,一次AIX系统swap使用过高的故障解决过程
今天早上回到办公室没多久就接到了新炬过来的电话,说我们的数据库服务器swap使用已经过了告警基准线,让我去看看应用是否还运行正常。于是赶紧登陆服务器查了一下swap的活动情况:
[cramer@zhzy-db01-p780:///]#lsps -s
Total Paging Space Percent Used
98304MB 35%
确实,swap空间使用了30多G,内存交换活跃,怕是数据库不能幸免于难了。于是再去生成一份AWR报告,看看整体上数据库各项的指标怎么样:https://www.cndba.cn/cndba/arealman/article/381
https://www.cndba.cn/cndba/arealman/article/381
从系统负载上可以看出,数据库正经历一场灾难,各项统计指标都超出了平常的标准,对比平时的统计数据,read by other session 等待次数从平时的数千次暴增到240W+,平均等待时间从5ms 增加到21ms。gc buffer busy 与 db file scattered read 也是如此。https://www.cndba.cn/cndba/arealman/article/381
https://www.cndba.cn/cndba/arealman/article/381
先来看看数据库的环境吧:
操作系统 AIX 6.1
操作系统物理内存 128G
https://www.cndba.cn/cndba/arealman/article/381https://www.cndba.cn/cndba/arealman/article/381
数据库的配置如下:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE10.2.0.5.0Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Productio
NLSRTL Version 10.2.0.5.0 - Production
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 90G
sga_target big integer 80G
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 10G
SQL>
操作系统频繁使用swap,原因基本是系统内存不够用了。从数据库的内存配置来看,128G总内存 ,配置给ORACLE 100g ,留给操作系统约30G,讲道理,应该是够用的了。
来看看oracle实际使用的内存:
select sum(pga_alloc_mem)/1024/1024/1024 Gb_Alloc from v$process ;
36.3
select sum(value)/1024/1024/1024 as Gb from v$sga ;
90
看出问题来了,实际使用内存数量为:90+ 36 = 126G,已经耗干了操作系统的所有内存,不使用swap才怪呢。很容易看出,问题的关键在于PGA这里,pga_aggregate_target 配置为10G,但是实际使用了36G,这是有可能的,pga_aggregate_target配置的值是个软限制,实际使用pga的使用是可以超过这个限制的。oracle会根据这个配置去限定每个服务进程使用的pga使用上限。假设在某一时段,有大量的进程都需要排序操作、大表hash join等等,从而从PGA里分走的都是一个上限值,那么就会发生上面的这种情况。
故障很容易定位到源头。应用系统有一个很频繁的查询,大概一分钟会被查询200次左右,该查询的逻辑相当的复杂,不过之前优化过,整体的开销已经不高了。昨晚因为一个需求,对查询做了一点点改动,仅仅是局部测试后就丢上生产了,结果在实际生产中,每一次查询都会有十几个大表进行hash连接。想一想,一分钟200次的查询,每次查询计算过会分走约1G的PGA空间,可想而知,结果会怎么样。
PS:应用配置了连接池,限制活动的连接数量为50个,因此PGA的消耗36G,数据基本吻合上面的估算了。https://www.cndba.cn/cndba/arealman/article/381
https://www.cndba.cn/cndba/arealman/article/381https://www.cndba.cn/cndba/arealman/article/381
赶紧下线该应用并做优化,准备写故障报告,做好挨批的姿态。自己种的果,再苦也得自己咽了。。。。。。
Written In 11-Oct-16
https://www.cndba.cn/cndba/arealman/article/381
版权声明:本文为博主原创文章,未经博主允许不得转载。
swap pga
连接池配置oracle aix,一次AIX系统swap使用过高的故障解决过程相关推荐
- net oracle连接池配置,Oracle ODP.NET连接池
数据库连接池 连接池是数据库连接的缓存,每当应用程序需要连接数据库时向连接池申请数据库连接,连接池负责具体数据库连接的创建和销毁.连接池中的数据库连接会缓存一段时间,后续的连接请求首先使用缓存中的数据 ...
- 性能优化之数据库和数据源连接池配置
什么?!数据库连接拿不到? 今天在公司对系统进行压测,由于我的sit和dev和uat环境都是用的用的是一个数据库服务器,我让用户在的sit进行压测,分别是单线程测试,并发测试,但是用户一开始测,我的三 ...
- weblogic服务器连接池配置细节
进入某个连接池配置页,进入"连接"页,点击高级选项的"show"显示高级选项. 指定 "测试频率" 并启用 "测试保留的连接&qu ...
- java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?
求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...
- mybatis开启log_mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台...
杂七杂的杂 作为程序员,开发工程中,一套利于测试或者监控的工具很重要,mybatis默认没有提供log4j的打印sql语句的配置. 这对于开发rest服务,提供接口的开发者而言,是在很不好做,再加上m ...
- Tomcat4.1、5.5、6.0的连接池配置及测试程序
连接池配置需要在应用部署文件的<Context>节点内添加<Resource>描述. 对于Tomcat5和Tomcat6,官方建议不要将<Context>的配置直接 ...
- springboot数据库和连接池配置
1 配置实例 ############################### DRUID数据源配置 start ################################ spring:data ...
- Redis 配置连接池,redisTemplate 操作多个db数据库,切换多个db,解决JedisConnectionFactory的设置连接方法过时问题。(转)
Redis 配置连接池,redisTemplate 操作多个db数据库,切换多个db,解决JedisConnectionFactory的设置连接方法过时问题.(转) 参考文章: (1)Redis 配置 ...
- Hibernate连接池配置实例
Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.在Hibernate连接池配置时需要注意的有三点: 一.Apche的DBCP在Hibernate2中受支 ...
最新文章
- 【华为AI十强应用·上卷】官宣!这里的AI应用“神了”……
- 会议邀请 | 中国中文信息学会暑期学校《前沿技术讲习班》
- CT流程与CT图像的windowing操作(转载+整理)
- vsftpd安装、多用户配置
- java中子类实例化过程中的内存分配
- l2高斯分布_浅谈为什么L2正则化有效
- python多进程间通信
- jquery form表单序列化,并ajax实现提交后台
- 总结oninput、onchange与onpropertychange事件的使用方法和差别
- 美国白宫《国家人工智能研究发展战略计划》
- Android Bluetooth源码结构
- Ubuntu无网络连接/无网络标识解决方法
- 计算机win文件题型,《计算机应用基础》操作系统应用题型专项练习
- 什么是生化分析中的反应曲线?
- Android实现RecyclerView二级列表可折叠展开选中
- 微信小程序 | 一比一复刻世界杯点球大战
- 互联网日报 | 8月7日 星期六 | 华为上半年销售收入3204亿元;微博宣布下线“明星势力榜”;小米平板5系列8月10日发布...
- [vant] 使用vant的checkbox到页面,发现点击没有反应
- 这些YouTube频道教我如何编码
- ARM WFI和WFE