通过定制orabbix监控分析潜在的Oracle问题

在之前的博客中分享过 简单定制Orabbix监控项   http://blog.itpub.net/23718752/viewspace-1769773/
定制的功能在Orabbix中实现非常灵活而且轻巧,还是能够感受到一种开源风的清爽。
我在orabbix原有模板的基础上添加了几个监控项,一个是监控闪回区的使用率,还有一个是监控归档的切换频率,这两个功能看似微不足道,但是会在细节中反应出数据库中是否有明显的异常行为。
中午的时候注意到有一个库的闪回区使用率和归档频率比较高。还是有一些反常,而从我这边的信息来看,没有得到开发人员的反馈说需要做什么数据变更。
得到的orabbix监控图如下:
闪回区的使用情况如下:

归档频率如下:

通过这个图可以看到还是有一些异常情况的。这个库是一个统计库,案例来说并发访问量应该不高,但是现在从早上的某个时间点开始,归档量急剧提升,已经快触及警报线。
在这个时候也是带着疑问去检查了一下这个库,结果通过ash视图去看,是否正在进行大量的并发操作,结果没有任何的active session,然后查看数据库负载,又很高。
抓取了一个awr报告来看。赫然发现top1的sql竟然是一个update语句。
 

        Elapsed                  Elapsed Time                                                                                                         

        Time (s)    Executions  per Exec (s)  %Total   %CPU    %IO    SQL Id                                                                         

---------------- -------------- ------------- ------ ------ ------ -------------                                                                     

         3,604.9              0           N/A   26.9   32.5   68.2 3jggcpxmv6w8g                                                                     

Module: sqlplus@stat.xxxxx.com (TNS V1-V3)                                                                                                        

update "xxxx"."TEST_BILLING" set "ID" = 'xxxxxxxxxx'
这个语句可以明显看出来存在一定的问题,因为这是一个大表,数据量在亿级,进行这样一个dml操作,代价还是相当大的。
为了一探究竟我们来看看到底是谁在执行这样一个dml。
结果一看还是让人大吃一惊,竟然是在本地的sys的操作,问题又指向了自己,因为这个库开发人员是没有任何权限直接访问的。
USERNAME    SID    SERIAL# PROGRAM                                          MACHINE
--------------- ---------- ------------------------------------------------ --------------------
SYS          22      50043 sqlplus@stat.xxxxxxxxxx,com (TNS V1-V3)            xxxxxxxx.cyou.com
SYS        3560      63187 sqlplus@stat.xxxxxxxxxx,com (TNS V1-V3)            xxxxxxxx.cyou.com
但是我确实也没有做任何的操作,不至于说哪个脚本很神奇的执行了?
带着疑问和同事进行排查,最后发现,这个dml语句是在做log miner解析的时候出了点问题。
因为一些数据同步的考虑,需要从另外一个核心库中同步一部分的数据到这个统计库中,但是又不想直接在主库中进行任何的额外配置,这个时候就使用了log miner来定制抽取归档中的sql语句,然后部署在这个统计库中。这个过程是通过crontab来触发的。
但是在log miner解析的过程中还是出了一点解析的问题,有一条update语句没有where字句结果就直接应用到这个统计库中了,结果生成了大量的redo,归档切换也很频繁。
比如说解析log miner的视图的时候,默认是使用下面的方式。
SELECT sql_redo FROM v$logmnr_contents WHERE seg_owner='XXXX' AND TABLE_NAME IN ('XXXX','XXXXXX') AND OPERATION in ('INSERT','UPDATE','DELETE')
结果某一条语句在解析的过程中出了问题,结果导致对于这类不规范的update语句,应用到统计库的时候把影响放大了。
可以通过交半年进行过滤,也可以直接在sql中进行过滤。比如修改为下面的形式。
SELECT sql_redo FROM v$logmnr_contents WHERE seg_owner='XXXXX' AND TABLE_NAME IN ('XXXX','XXXX') AND OPERATION in ('INSERT') or (operation in ('DELETE','UPDATE') and upper(sql_redo)  like '%WHERE %')
这样对于update和delete操作都hi进行必要的过滤,那些不指定条件的delete,update操作都可以直接屏蔽。

当然对这个问题的紧急修复也很明确,就是kill那个运行很长时间的session.
Kill session之后的效果如下,可以看到闪回区的使用率一下子降下来了。归档频率也降下来了。

通过这个问题可以看出,定制适合自己的监控项在某种程度上还是能够起到很好的监控作用。对于某些异常情况还是不要掉以轻心。

时间: 2024-07-30 11:00:30

通过定制orabbix监控分析潜在的Oracle问题的相关文章

Zabbix中Orabbix监控失效的问题及分析

   自从使用了Orabbix监控Oracle以来,很多工作都能够通过这种配置可控的方式处理,有些问题是潜在问题,有些是遗留问题,多多少少还是提高了效率.    最近涉及机房搬迁,我们的Zabbix服务器也在迁移计划中,而因为部署的规模也不大,所以Orabbix和Zabbix Server放在了一起,结果搬迁之后问题就来了,搬迁之后开通了网络防火墙的前提下,系统层面的监控Zabbix Agent表现正常,而原本可用的Orabbix现在没有任何监控信息,    在这种监控基本失效的情况下,我总是不

浅谈Orabbix监控指标

对于Orabbix监控Oracle来说,它是提供了一个相对轻量级的客户端来综合监控多个数据库实例.从这一点来看,它的角色有点类似于工作中使用的SQLDeveloper或者toad这类的工具. 在之前的章节中,先花了些篇幅去比较zabbix和grid control,其实从功能上来看,基于zabbix的Orabbix的监控功能要有限的多.提供的默认模板中,监控触发器不到20个. 自己梳理了一下,默认的监控触发器在15个左右. 故障类型 报警对应项 错误类型 报错简述 数据库没有数据响应 Oracl

从google搜索引擎中取分析潜在的竞争对手(完结)

  从google搜索引擎中取分析潜在的竞争对手(完结) google搜索引擎中,分析竞争对手是非常的明确的.也是最精准的.因为google的信息庞大.给出的信息也非常准确.所以在分析竞争对手的时候我们通常都喜欢用google去分析. 简单来了解一下"分析竞争对手的方法". 在我们做任何行业的任何关键词的时候,我们首先要做的就是确定好词之后去分析竞争对手,并且分析竞争对手是必不可少的,对判断关键词的竞争程度以及了解行业是非常有作用的. 竞争对手分析或者有人说只要直接在搜索引擎中搜索核心

oracle trc 文件-各位数据大神麻烦帮我分析下这个oracle的trc文件,最大游标数设置的为1000

问题描述 各位数据大神麻烦帮我分析下这个oracle的trc文件,最大游标数设置的为1000 *** 2014-01-10 09:52:31.526*********START PLSQL RUNTIME DUMP************Got internal error Exception caught in pl l run-time while running PLSQLGot ORA-1000 while running PLSQLPACKAGE BODY FPM.GET_PARAME

APM终端用户体验监控分析(下)

一.前言 APM 终端用户体验监控分析(上)从 APM 终端用户产品特性.使用建议.以及从真实用户体验和模拟性能监控两方面入手给大家进行了简单的分享. 本文为下篇,将给大家介绍几种新的 APM 终端用户体验监控的方式. 二.基于网络的数据包捕获 基于网络的数据包捕获工具对执行应用无任何影响,且不要求改变代理或软件,因此无需进行大量的应用测试就可得出所需值.须在网络适当位置设计流量聚合层,且须使用矩阵或专业网络设备以对正在被发送到监控系统的流量进行更多粒状过滤.流量聚合网络不仅可用于 APM 使用

orabbix监控oracle数据库状态例子

1 下载 下载地址: http://www.smartmarmot.com/product/orabbix/download/ 2 授予文件可执行的权限 #chmod +x /opt/orabbix -R #chmod +x /opt/orabbix/run.sh 3 创建一个名为config.props文件,有模板可以参考. #cp /opt/orabbix/conf/config.props.sample config.props 下面是我的一个配置: 注意DatabaseList大小写敏感

APM 终端用户体验监控分析(上)

一.前言 理解用户体验是从终端用户角度了解应用交付质量的关键,这是考量业务健康运转的潜在因素.捕获此类数据的方法各种各样,具体的实现途径由应用.基础设施架构以及管理者和管理过程决定. 二.终端用户监控主要产品特性 基于网络的数据包捕获技术和各种端点检测方法一样,均为有效的监测技术,可以用来捕获用户体验.现在国内的拨测技术就是基于这个技术,通过在全国各地的 IDC 点来拨测被监控网站,测试其可用性和丢包率等参数,该产品国内外比较有代表性有:OneAPM CloudTest.NewRelic.APP

2016年视频监控行业潜在的四大商机

2016年过完一大半,马上要进入安防行业传统旺季了,看着订单就要来了,你说没有机会?在别人看来没有的机会或许恰恰就是你的机会. 2016年是安防行业的重大变革的一年,慧中君认为,从实实在在的市场来讲(不谈遥不可及的方向),目前安防行业的市场机会主要有这几大方面: 一.1080P 1080P(通俗名:200万)是所有安防人2016年期待的产品,因为720P.960P(通俗名:100万.130万)被玩坏了,所有的从业者没有利润,饿肚子无力吆喝阶段,急需新产品,新方案,新粮食.为什么是1080P?因为

利用Eclipse Profile Plugin对Tomcat进行性能监控分析

目前新版本的Eclipse在启动应用服务器的时候有一个新的选项:Start the server in profiling mode. 我个人使用的是tomcat6.0 但是我在一开始点击这个按钮的时候,出现了错误提示信息: Could not launch in profiling mode because no profilers are configured. 经过一番搜索,发现要求安装TPTP(Test and Performance Tools Platform),下面我把我的安装步骤