[发明专利]定位异常SQL语句的方法、装置、电子设备及存储介质在审
申请号: | 201811142669.9 | 申请日: | 2018-09-28 |
公开(公告)号: | CN109542868A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 吴丽娜;王小龙;赵鹏 | 申请(专利权)人: | 中国平安人寿保险股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/242 |
代理公司: | 深圳市赛恩倍吉知识产权代理有限公司 44334 | 代理人: | 杨毅玲 |
地址: | 518000 广东省深圳市福田区益田路503*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 历史消息 存储介质 电子设备 入口语句 条数 预设 业务过程优化 抓取 定位数据库 存储过程 定位效率 预设周期 运行效率 包存储 调用 采集 发现 分析 | ||
1.一种定位异常SQL语句的方法,其特征在于,所述方法包括:
确定包存储过程中需调用的入口语句;
根据所述入口语句采集预设周期内执行存储过程的SQL语句的历史消息;
从所述历史消息中抓取所述SQL语句中执行次数靠前的预设条数SQL语句;以及
分析所述预设条数SQL语句,定位出效率异常的SQL语句。
2.如权利要求1所述的定位异常SQL语句的方法,其特征在于,所述SQL语句的历史消息包括所述SQL语句的sql_id、单次执行时间、执行总时长及执行次数,所述根据所述入口语句采集预设周期内正在执行存储过程的SQL语句的历史消息的步骤包括:
采集预设周期内正在执行存储过程的SQL语句,并输出所述SQL语句的sql_id;
根据所述sql_id获取所述预设周期内所述SQL语句的单次执行时间、执行总时长及执行次数。
3.如权利要求2所述的定位异常SQL语句的方法,其特征在于,所述分析所述预设条数SQL语句,定位出效率异常的SQL语句的步骤包括:
根据所述历史消息中的执行次数中每次执行时的单次执行时间生成一以执行次数为横轴以单次执行时间为纵轴的曲线图;
当所述曲线图中所述SQL语句当前执行时间与平均执行时间之间的差值的绝对值大于等于预设值时,确认所述SQL语句在执行过程中出现效率异常。
4.如权利要求1所述的定位异常SQL语句的方法,其特征在于,从所述历史消息中抓取所述SQL语句中执行次数靠前的预设条数SQL语句的方法包括:
通过查询V$SQLAREA或V$SQL的EXECUTIONS来查看所述SQL语句的执行次数,再抓取所述SQL语句中执行次数靠前的预设条数SQL语句;
通过DBA_HIST_SQLSTAT关联DBA_HIST_SNAPSHOT找出所述SQL语句的执行次数,再抓取所述SQL语句中执行次数靠前的预设条数SQL语句;及
通过AWR报告查看所述SQL语句的执行次数后抓取所述SQL语句中执行次数靠前的预设条数SQL语句中的至少一种。
5.如权利要求1所述的定位异常SQL语句的方法,其特征在于,所述方法还包括:
当定位到效率异常的SQL语句时,通过查看执行计划变更查找引起所述SQL语句效率异常的原因。
6.如权利要求5所述的定位异常SQL语句的方法,其特征在于,通过查看执行计划变更查找引起所述SQL语句效率异常的原因包括:
根据sql_id的值来获得所述sql_id对应的sql语句;
查询所述sql_id历史执行信息,确认是否有执行计划变更;
当确认有执行计划变更时,比对变更前后的执行计划,得到变更前后执行计划的不同点;及
根据变更前后执行计划的不同点查找原因。
7.如权利要求1所述的定位异常SQL语句的方法,其特征在于,所述方法还包括:
当定位到效率异常的SQL语句时,通过绑定变量来提升所述SQL语句执行效率。
8.一种定位异常SQL语句的装置,其特征在于,所述装置包括:
确定模块,用于确定包存储过程中需调用的入口语句;
采集模块,用于根据所述入口语句采集预设周期内执行存储过程的SQL语句的历史消息;
处理模块,用于从所述历史消息中抓取所述SQL语句中执行次数靠前的预设条数SQL语句;以及
定位模块,用于分析所述预设条数SQL语句,定位出效率异常的SQL语句。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的定位异常SQL语句的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的定位异常SQL语句的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安人寿保险股份有限公司,未经中国平安人寿保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811142669.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:分布式数据采集方法及装置
- 下一篇:一种结构化数据核对方法