本文章,给大家分享一个经典的案例:负载很低的数据库,日常使用正常,巡检时发现等待事件异常,建议刚接触oracle数据库的DBA,检查时一定要重点关注等待事件。
环境:
Aix 6.1
Oracle 10.2.0.5单机
该等待事件虽然等待的次数不多,但是每次等待的时间却很长,对系统性能肯定会有影响,所以必须进行处理。接下来分析为什么会出现该等待事件。
首先检查了数据库的alert日志,发现日志里面没有出现相关的错误。
然后找到该事件对应的sql
查看具体的sql
发现相关的sql都是对v$asm_diskgroup视图进行查询,因为查询针对系统视图的,怀疑可能是系统自带的job执行的,接下来检查是哪个用户在执行sql:
该用户是XXX系统监控模块连接数据库使用的账号,判断是数据库监控在执行该sql。
虽然该库没有使用asm,也不是RAC环境,查询v$asm_diskgroup视图也不应该有问题啊,继续分析。
手动执行sql一次耗时2分钟,检查该sql的执行计划,没有发现异常。
查询metalink,Bug 10024824 – Database/session hang with ‘CSS initialization’ ,版本是10.2.0.5,而我们的数据库版本也正好是这个版本。
文档提示该bug只出现在RAC环境,由于OH/log/
故障数据库不是RAC环境的,检查该目录权限755
检查另一套环境一样的数据库,目录权限也是755,执行同样的sql,没有问题。
如果按照bug来说,是权限的问题,那么client目录一定是不能被写入,所以才hang住。我们继续检查目录和目录中的文件。
查看目录client的下文件css*.log,共66667,每天生成251个文件。每次查询v$asm_diskgroup一次,就出现一个新的文件。另一套正常的数据库该目录下的文件只有168个。
文件内容
再次测试运行一个查询,并且用truss追踪该进程,发现了问题的根源:进程大部分的时间是花在遍历client下cssN.log文件
判断在每次查询v$asm_diskgroup的时候,都会在client下生成一个新的cssN.log文件(10.2.0.5才有,其他版本没发现),生成的命名规则是前一个数字加1。因此,生成新的cssN.log文件时,需要遍历整个client目录下的cssN.log文件,才能知道最大的数字是多少,才能生成第N+1的文件。而在client下不断生成大量文件,这个和oracle的一个unpublish bug 6004127 有关(ID 729349.1)。目前没有patch,文档上说解决的方法是用crontab定期清理client下的cssN.log、
该库没有使用asm磁盘组,不用监控v$asm_diskgroup视图数据。
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129856.html
摘要:也叫事件溯源,是这些年另一个越来越流行的概念,是大神提出的一种架构模式。事件是一等公民,系统的数据以事件为基础,事件要保存在某种存储上。业务数据只是一些由事件产生的视图,不一定要保存到数据库中。 Event Sourcing也叫事件溯源,是这些年另一个越来越流行的概念,是大神Martin Fowler提出的一种架构模式。简单来说,它有几个特点: 整个系统以事件为驱动,所有业务都由事件驱...
摘要:代表公司去参加今年的第二届前端开发者年度大会,散会的时候,技术老大问我,今天感觉怎么样,有什么收获,当时就零零碎碎的回答了一些,不算完美趁着还记得点什么,在这里做个自我回顾总结,谨代表个人见解,有不当之处,或若涉及图片隐私或者其它问题,烦请 代表公司去参加今年的 第二届前端开发者年度大会,散会的时候,Team 技术老大问我,今天感觉怎么样,有什么收获,当时就零零碎碎的回答了一些,不算完...
摘要:一微服务系统最大的挑战数据的并发访问修改不同请求之间的数据隔离多个服务共同完成一个业务请求,保证都完成或者失败发生异常时的数据回滚二事务事务本地事务的原则,实现原理事务事务机制事务抽象内部事务,外部事务,几种事务管理实现事务管理的实例 一、微服务系统最大的挑战 数据的并发访问、修改 不同请求之间的数据隔离 多个服务共同完成一个业务请求,保证都完成或者失败 发生异常时的数据回滚 二、...
摘要:拦截之前的准备在应用启动的特定生命周期内改写字节码,植入特定的逻辑处理代码进行拦截。劫持通过字节码改写动态代理等技术,在客户端调用代码中嵌入特定处理逻辑,获取调用相关的信息,如调用地址调用协议调用结果等。 这次我们为大家带来中间件增强框架专题(MOF)的最后一篇文章,为大家讲解MOF中的InterceptFramework框架。该框架可以在应用启动过程中获取画像信息,实现应用画像数据采...
摘要:介绍微信风格的,与客户端体验一致,这个自己去微信上看吧,略。微信调试一件套,网页授权模拟集成代理远程调试。这些在微信开发者中心有介绍,略。年微信开发经验的人,终于又成为了零年开发经验的人,重新走上了踩坑之路。 showImg(https://segmentfault.com/img/bVtEd1);活动地址:http://fequan.com/2016/ 注意:英文不好,小记也带有自己...
阅读 1347·2023-01-11 13:20
阅读 1685·2023-01-11 13:20
阅读 1133·2023-01-11 13:20
阅读 1860·2023-01-11 13:20
阅读 4101·2023-01-11 13:20
阅读 2705·2023-01-11 13:20
阅读 1386·2023-01-11 13:20
阅读 3599·2023-01-11 13:20