2017-06-23 dba日记,ORACLE TFA组件消耗CPU诊断和处理案例

来源:互联网 发布:淘宝电脑卷转换手机卷 编辑:程序博客网 时间:2024/04/28 03:32
背景:
通过数据库资源监控软件看到,有一个集群数据库RAC各个节点的的CPU都会莫名奇妙地有5%瞬间增加到10%,并且还是有规律的出现,为什么出现这种情况呢?
分析:
具体化:每隔5分钟,数据库名为RAC的各个节点的CPU都会增加5%的使用率,其它RAC数据库节点并不会出现这种情况。
数据收集:1.确认具体出现的的时间范围,发现一天24小时,每小时会出现这种重复且有规律的现象。
  2. 排查数据库的内部作业。的确有些作业是每5分钟运行一次,但这些作业是固定在某一节点上运行的。
  3. 登录到数据库主机,使用top 或 glance连续观察10分钟,发现每隔10几到20秒,就会有4个JAVA进程销毁,同时有一个JAVA进程建立,除此之外还有PERL进程,并且每个进程都占用个体CPU 20%的时间,且有ROOT用户调用,整体CPU使用率上升5%左右。《《《《《《《发现可疑点。基本与观察到的CPU表现吻合
数据分析:
结合1,2的数据分析,发生的时长、发生的地点与观察到的CPU表现不吻合,
数据3,基本与观察到的CPU表现吻合,但不明白该进程是的功能是做什么的。
迭代分析:
具体化:数据3的现象是由什么造成的?这些进程的主要处理什么工作。
数据收集:1)ps -ef | grep perl ; ps -ef | grep java  ,发现perl 进程在调用oracle tfa
          2) 进一步收集相关的案例,百度和GOOGLE一下,发现有类似的案例,tfa占用主机CPU 。主要终止TFA的运行就可以了。
数据分析:1)RAC是一个11.2.0.4的数据库,默认安装了TFA,并且自启动。
  2)TFA是一个oracle自动收集日志及调用OSWATCH收集系统资源的组件,并且一天24小时,全天候运行。
3)网上有同类案例。
结论:
oracle rac 11.2.0.4,各个节点在grid下自动启动了TFA进程,定时收集ORACLE日志信息,导致主机CPU每隔10到20秒的CPU升高5% .
解决方案:
使用root用户登录到各节点执行如下命令:
./grid/bin/tfactl disable
./grid/bin/tfactl stop
原创粉丝点击