昭通网_昭通热线网ztrxw.cn

昭通热线网广告位出租好餐具赚取积分
发表于: 2017-11-23 10:29:28 | 只看该作者 |只看大图 |倒序浏览

作者引见
杨欣捷,浦发银行数据库专家,担任浦发银行数据库资源池、高可用、容灾、功能调优等数据库相关架构设计工作。同时涉足海量日志采集分析、大数据平台及机器学习算法
置信大家做DBA的,都看到过很多数据库专家缜密思索、抽丝剥茧、层层推进最终找到成绩答案的精彩案例。Jason每次看到这样的案例,都被专家们丰富的阅历,执着的态度和弱小的逻辑推理才能折服。但这是不是诊断数据库成绩的独一方法论呢?可不可以讲近来大热的机器学习思想引入其中,经过统计学(深度学习的基础)来诊断成绩呢?Jason在近期遇到的一个成绩上,做了些许尝试,这里分享给大家。。。
成绩描画 
在Jason担任管理的开发测试环境中,忽然间有一个库连不上了,由于是12c多租户环境,好几个开发项目组同时暴跳。Jason登上环境,发现sqlplus已无法登录,alertlog里大量的ORA-4031。显然shared pool没有空间了。
由于是开发环境,为了让运用最疾速度可用,Jason重启了实例。重启后恢复正常,Jason也能sqlplus出来看看信息了。经过dba_hist_sgastat视图,发现有个叫”gcindex split transactio“的component不断在不断增长,在宕机前涨到了将近80G,几乎占满了整个SGA。于是自然4031了。
首先求助万能的BING(不能用Google,百度没有用),没有任何相关条目。去Oracle的metalink知识库,居然也没有任何条目。Jason暗暗叫苦,谁叫本人冲那么后面用12.2版本呢。
好在重启后恢复正常了,那就开个SR同时再观察几天吧。果然,自始自终,重启后这个component依然以每天6个G的速度增长。并且SR的处理效率也自始自终的慢。Jason仰仗多年阅历判别,这个八九不离十是BUG。但是等官方确认是BUG并且提供补丁遥遥无期。难道只能定期重启?这样的成绩上消费怎样办?能不能找到引发BUG的操作,至少能防患于已然。Jason决议不能坐以待毙。


没有配图,随意找张SGA吧...
另辟蹊径
既然定位BUG和补丁是Oracle的事情,那我们本人能做的,就是尽能够查到什么操作引发了这个BUG(现象)。大家都知道Oracle固定工夫(默许1小时)会做数据库的快照,保存大量的系统信息到DBA_HIST视图。Jason就想,何不拿这些数据和这个”gcindex split transactio“的增长做一个相关性分析?说不定能发现些什么呢。说干就干,Python程序写起!
首先选取V$SYSSTAT中一切VALUE不为0的STAT_NAME,然后把每个快照时期他们的增量和”gcindex split transactio“的增长量求一个相关系数。想法不错,但马上遇到第一个成绩,DBA_HIST_SGASTAT是累积量(culmulative)不是增量(delta)。没关系,好在有Oracle弱小的分析函数(其他数据库就没那么侥幸了),直接一句SQL把每行中的累积量换成增量:


然后,就在Python中把一切v$SYSSTAT中的目的全拿过来(1800多个),带入:name。每个目的取出的样本量是一切snapshot的总数。逐一用numpy中的corrcoef()计算相关系数。然后排序。最终获得相关系数最高的进一步分析。


分析结果 
大概也就跑了2分钟,结果出来了,排名靠前的目的和相关性:


可以看到user logons cumulative和logons cumulative的相关系数达到了8个9!基本上就是完全相关。于是接下去的分析方向就很分明了,单独拎出来跑个SQL,肉眼验证下:


的确很相关!用户登录在高的时分达到了每小时200万次。于是打开监听器日志,疾速发现了是哪个PDB,从哪里连过来的衔接。后经过和运用沟通,的确是运用的成绩,运用服务器的/etc/hosts没有配好,导致衔接失败,运用还疯狂的在衔接。运用停了,修正完,一切都正常了。
读到这里,有些读者能够会想,早干吗去了,用得着那么费事吗?早点去看看监听日志,或者更细心的去看看awr报告,不也能发现成绩吗?
说的没错,不过你对Jason要求太高了,Jason不做一线DBA那么多年,迷失在流程和商务中,早已得到了一线DBA敏锐的观察力和阅历累积。只能经过这种办法来分析成绩(当然也是灵感乍现后忽然来兴味了)。但我也不得不说,这个成绩Jason不是没有第一工夫让一线工程师看过,并未得出有效结论。
Jason的话
这个案例我觉得本身并不复杂,相对不能和各种专家处理的真正的疑问杂症相比。但是Jason经过另辟蹊径,想到了一种完全不同的分析成绩的方法论。并且经过实际的确是有效的。算是在Oracle诊断和机器学习间玩了个跨界。
Jason以为,基于统计的机器学习,在数据库成绩诊断范畴并不能替代资深DBA,毕竟人类的思想的灵敏性和逻辑推理才能,目前的机器学习算法还远不能及。但是机器学习至少可以在两个方面对DBA提供有效补充。一是对于初级DBA,机器学习可以有效减少成绩分析的方向,让其节省工夫,加快成绩处理速度。二是对于资深DBA,机器学习能提供思想惯性外的新方向,毕竟有些关联性就是深藏不露的。啤酒和尿布,在成为经典案例之前,可不是人人都看得到的。

文章来源:今日头条(发布内容请上昭通热线网www.ztrxw.cn)



上一篇:黑科技丨人工智能秒辨真假商品!
下一篇:第一波福利:便宜购物的一些网站引荐
跳转到指定楼层
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信易信易信
收藏收藏 转播转播 分享分享 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


昭通热线网商务合作QQ

625134853 QQ群169427445

昭通装修建材网官方微信

扫描二维码,免费发布装修建材信息

昭通人才招聘网官网

发布招聘信息就上昭通人才招聘网 交流群QQ :115912447

展开

手机版|小黑屋|公司简介|  滇ICP备15005425号-1 js??

GMT+8, 2024-5-16 11:50 Powered by 昭通热线网 X3.2

昭通网_昭通热线网ztrxw.cn © 2011-2018 昭通网

快速回复 返回顶部 返回列表