CN111522793A - 一种Oracle数据库执行计划异常的检测方法 - Google Patents

一种Oracle数据库执行计划异常的检测方法 Download PDF

Info

Publication number
CN111522793A
CN111522793A CN202010223047.XA CN202010223047A CN111522793A CN 111522793 A CN111522793 A CN 111522793A CN 202010223047 A CN202010223047 A CN 202010223047A CN 111522793 A CN111522793 A CN 111522793A
Authority
CN
China
Prior art keywords
database
execution plan
health
value
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010223047.XA
Other languages
English (en)
Other versions
CN111522793B (zh
Inventor
邢四为
李健华
管文琦
崔健
季鸿坤
陈磊
王俊
王勉
杨宏
薛峰
丁儒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huatai Securities Co ltd
Original Assignee
Huatai Securities Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huatai Securities Co ltd filed Critical Huatai Securities Co ltd
Priority to CN202010223047.XA priority Critical patent/CN111522793B/zh
Publication of CN111522793A publication Critical patent/CN111522793A/zh
Application granted granted Critical
Publication of CN111522793B publication Critical patent/CN111522793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种Oracle数据库执行计划异常的检测方法,包括如下步骤,步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确。步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。该方法通过对数据库执行计划异常后的***表现进行归纳总结,抽象出量化分析指标,实现Oracle执行计划异常后,由***自动判断和应急处理,以减少故障发现时间和应急处理时间,提升业务连续性。

Description

一种Oracle数据库执行计划异常的检测方法
技术领域
本发明属于数据库检测技术领域,具体涉及一种Oracle数据库执行计划异常的检测方法。
背景技术
在证券、银行、保险等大型金融公司中,很多核心***的数据库均是采用Oracle数据库,很多数据库中保存着上亿条记录。而在运维中,由于Oracle数据库在解析SQL语句时,使用的是CBO评估模型,在高并发类***中,当Oracle单表记录条数超过百亿时,数据库经常会出现执行计划异常,导致sql响应时间变长,session会话堵塞,随着时间的累积,影响范围不断扩大,最终导致数据库资源全部用来处理执行计划异常的sql,无法响应新的请求,影响业务开展。
鉴于Oracle执行计划异常难以发现,业界目前还没有成熟的自动化工具,处理方式还是被动运维模式,在业务***出现异常后,靠运维人员手动介入分析和处理。
然而手动处理的方式在定位问题时需要较长的时间,而金融类***有很高的时效性要求,故障持续的时间过长会对企业造成巨大的经济损失,甚者影响公司评级和业务开展范围。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种Oracle数据库执行计划异常的检测方法,通过对数据库执行计划异常后的***表现进行归纳总结,抽象出量化分析指标,实现Oracle执行计划异常后,由***自动判断和应急处理,以减少故障发现时间和应急处理时间,提升业务连续性。
本发明提供一种Oracle数据库执行计划异常的检测方法,包括如下步骤,
步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;
步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;
步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确。
步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。
作为本发明的进一步技术方案,步骤S1中,数据库执行计划健康评估模型的公式为
Figure DEST_PATH_IMAGE002
其中,H为数据库执行计划健康值,Session为当前数据库的会话数,Active为当前数据库的活跃会话数,MaxActive为数据库活跃会话数阈值,QT为当前活跃SQL的平均响应时间,MaxQT为平均响应时间阈值,RT为统计时间段接口平均耗时,MaxRT为接口平均耗时阈值,
Figure DEST_PATH_IMAGE004
为统计时间段内业务***平均每秒查询量,
Figure DEST_PATH_IMAGE006
为预设的业务***平均每秒查询量。
进一步的,步骤S2的具体步骤为,
步骤S21、根据业务场景和数据库性能确定数据库的活跃会话数阈值MaxActive、平均响应时间阈值MaxQT、接口平均耗时阈值MaxRT和预设的业务***平均每秒查询量
Figure 698503DEST_PATH_IMAGE006
步骤S22、确定检测的时间间隔Time和稳定参数
Figure DEST_PATH_IMAGE008
步骤S23、根据数据库性能确定健康值最小值
Figure DEST_PATH_IMAGE010
步骤S24、设置异常次数Error=0;
步骤S25、查询当前数据库的会话数Session、活跃会话数
Figure DEST_PATH_IMAGE012
、活跃SQL的平均响应时间QT;
步骤S26、查询前一个Time时间段内接口的平均耗时QPS;
步骤S27、根据执行计划健康评估模型计算健康值H。
进一步的,步骤S3中,若健康值
Figure DEST_PATH_IMAGE014
Figure 285211DEST_PATH_IMAGE010
为数据库性能确定的健康值最小值,则设置异常次数
Figure DEST_PATH_IMAGE016
;若健康值
Figure DEST_PATH_IMAGE018
,则设置异常次数Error=0。
进一步的,步骤S4具体为,若异常次数
Figure DEST_PATH_IMAGE020
,则表示执行计划异常,发送告警信息或执行修复脚本,若异常次数
Figure DEST_PATH_IMAGE022
,则执行下一计划。
本发明通过分析大量数据库执行计划异常的案例,构建数据库执行计划健康评估模型,解决了数据库执行计划异常难发现的问题,运维人员可结合监控***和拨测***,从应用层和数据库层丰富健康评估维度,实现Oracle执行计划异常场景的自动发现和修复,减少故障发现和修复的时间,提升业务连续性。
具体实施方式
本实施例提供一种Oracle数据库执行计划异常的检测方法,包括如下步骤,
步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;
步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;
步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确。
步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。
数据库执行计划健康评估模型的公式为
Figure DEST_PATH_IMAGE002A
其中,H为数据库执行计划健康值,Session为当前数据库的会话数,Active为当前数据库的活跃会话数,MaxActive为数据库活跃会话数阈值,QT为当前活跃SQL的平均响应时间,MaxQT为平均响应时间阈值,RT为统计时间段接口平均耗时,MaxRT为接口平均耗时阈值,
Figure 990998DEST_PATH_IMAGE004
为统计时间段内业务***平均每秒查询量,
Figure 530694DEST_PATH_IMAGE006
为预设的业务***平均每秒查询量。
该方法的检测过程如下;
步骤1,根据业务场景和数据库性能确定阈值MaxActive、MaxQT、MaxRT、
Figure DEST_PATH_IMAGE024
步骤2,确定检测的时间间隔Time和稳定参数
Figure DEST_PATH_IMAGE026
步骤3,根据数据库性能确定健康值最小值
Figure DEST_PATH_IMAGE028
步骤4,设置异常次数Error=0。
步骤5,查询当前数据库的会话数Session、活跃会话数
Figure DEST_PATH_IMAGE030
、活跃SQL的平均响应时间QT。
步骤6,查询前Time时间段内接口的平均耗时QPS。
步骤7,根据执行计划健康评估模型计算健康值H。
步骤8,如果
Figure DEST_PATH_IMAGE032
,设置
Figure DEST_PATH_IMAGE034
;如果
Figure DEST_PATH_IMAGE036
,设置Error=0。
步骤9,如果
Figure DEST_PATH_IMAGE038
,执行计划异常,发送告警信息或执行修复脚本。
步骤10,如果
Figure DEST_PATH_IMAGE040
,重复步骤4至步骤10之间的操作。
该方法引入了数据库执行计划健康指标的概念,构建数据库执行计划健康评估模型,解决数据库执行计划异常难发现的问题,运维人员可结合监控***和拨测***,从应用层和数据库层丰富健康评估维度,实现Oracle执行计划异常场景的自动发现和修复,减少故障发现和修复的时间,提升业务连续性。
以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进一步说明本发明的原理,在不脱离本发明精神范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权利要求书及其等效物界定。

Claims (5)

1.一种Oracle数据库执行计划异常的检测方法,其特征在于,包括如下步骤,
步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;
步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;
步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确;
步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。
2.根据权利要求1所述的一种Oracle数据库执行计划异常的检测方法,其特征在于,所述步骤S1中,数据库执行计划健康评估模型的公式为
Figure RE-FDA0002561634830000011
其中,H为数据库执行计划健康值,Session为当前数据库的会话数,Active为当前数据库的活跃会话数,MaxActive为数据库活跃会话数阈值,QT为当前活跃SQL的平均响应时间,MaxQT为平均响应时间阈值,RT为统计时间段接口平均耗时,MaxRT为接口平均耗时阈值,QPS为统计时间段内业务***平均每秒查询量,QPS0为预设的业务***平均每秒查询量。
3.根据权利要求1所述的一种Oracle数据库执行计划异常的检测方法,其特征在于,所述步骤S2的具体步骤为,
步骤S21、根据业务场景和数据库性能确定数据库的活跃会话数阈值MaxActive、平均响应时间阈值MaxQT、接口平均耗时阈值MaxRT和预设的业务***平均每秒查询量QPS0
步骤S22、确定检测的时间间隔Time和稳定参数δ;
步骤S23、根据数据库性能确定健康值最小值H0
步骤S24、设置异常次数Error=0;
步骤S25、查询当前数据库的会话数Session、活跃会话数Active、活跃SQL的平均响应时间QT;
步骤S26、查询前一个Time时间段内接口的平均耗时QPS;
步骤S27、根据执行计划健康评估模型计算健康值H。
4.根据权利要求1所述的一种Oracle数据库执行计划异常的检测方法,其特征在于,所述步骤S3中,若健康值H≤H0,H0为数据库性能确定的健康值最小值,则设置异常次数Error=Error+1;若健康值H>H0,则设置异常次数Error=0。
5.根据权利要求1所述的一种Oracle数据库执行计划异常的检测方法,特征在于,所述步骤S4具体为,若异常次数Error>δ,则表示执行计划异常,发送告警信息或执行修复脚本,若异常次数Error≤δ,则执行下一计划。
CN202010223047.XA 2020-03-26 2020-03-26 一种Oracle数据库执行计划异常的检测方法 Active CN111522793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010223047.XA CN111522793B (zh) 2020-03-26 2020-03-26 一种Oracle数据库执行计划异常的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010223047.XA CN111522793B (zh) 2020-03-26 2020-03-26 一种Oracle数据库执行计划异常的检测方法

Publications (2)

Publication Number Publication Date
CN111522793A true CN111522793A (zh) 2020-08-11
CN111522793B CN111522793B (zh) 2024-06-18

Family

ID=71910591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010223047.XA Active CN111522793B (zh) 2020-03-26 2020-03-26 一种Oracle数据库执行计划异常的检测方法

Country Status (1)

Country Link
CN (1) CN111522793B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297307A (zh) * 2020-08-15 2021-08-24 阿里巴巴集团控股有限公司 数据库请求识别、异常检测方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081623A (zh) * 2009-11-30 2011-06-01 ***通信集团浙江有限公司 一种数据库异常检测方法和***
CN102081622A (zh) * 2009-11-30 2011-06-01 ***通信集团贵州有限公司 评估***健康度的方法及***健康度评估装置
CN102982037A (zh) * 2011-09-05 2013-03-20 ***通信集团浙江有限公司 检测数据库节点健康状况的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081623A (zh) * 2009-11-30 2011-06-01 ***通信集团浙江有限公司 一种数据库异常检测方法和***
CN102081622A (zh) * 2009-11-30 2011-06-01 ***通信集团贵州有限公司 评估***健康度的方法及***健康度评估装置
CN102982037A (zh) * 2011-09-05 2013-03-20 ***通信集团浙江有限公司 检测数据库节点健康状况的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297307A (zh) * 2020-08-15 2021-08-24 阿里巴巴集团控股有限公司 数据库请求识别、异常检测方法、装置、设备及介质
CN113297307B (zh) * 2020-08-15 2024-03-05 阿里巴巴集团控股有限公司 数据库请求识别、异常检测方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111522793B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
US11010223B2 (en) Method and system of automatic event and error correlation from log data
CN111309565B (zh) 告警处理方法、装置、电子设备以及计算机可读存储介质
Zhao et al. Understanding and handling alert storm for online service systems
CN111209131A (zh) 一种基于机器学习确定异构***的故障的方法和***
CN101997709B (zh) 一种根告警数据分析的方法及其***
Li et al. Generic and robust localization of multi-dimensional root causes
CN105550100A (zh) 一种信息***故障自动恢复的方法及***
CN110333995A (zh) 对工业设备运行状态进行监测的方法及装置
CN117035513A (zh) 一种智慧工业园区能源运行智能监测管理***及方法
CN113360722B (zh) 一种基于多维数据图谱的故障根因定位方法及***
CN111125056A (zh) 一种信息***数据库自动化运维***及其运维方法
CN111258798A (zh) 监控数据的故障定位方法、装置、计算机设备及存储介质
CN115529595A (zh) 一种日志数据的异常检测方法、装置、设备及介质
CN112949874A (zh) 一种配电终端缺陷特征自诊断方法及***
CN110784352B (zh) 一种基于Oracle Goldengate的数据同步监控告警方法及装置
CN114924990A (zh) 一种异常场景测试方法及电子设备
CN111522793A (zh) 一种Oracle数据库执行计划异常的检测方法
CN112214459A (zh) 基于事件机制的资源处理流程日志收集***
CN109634808B (zh) 一种基于关联分析的链式监控事件根因分析方法
CN114826788B (zh) 一种基于信息安全的设备管控***
CN114675789B (zh) 一种基于计算机***的大数据分析存储***及方法
CN114531338A (zh) 一种基于调用链数据的监控告警和溯源方法及***
CN111258788B (zh) 磁盘故障预测方法、装置及计算机可读存储介质
CN114760332A (zh) 一种高效的设备监测分析方法
CN112183997A (zh) 一种用能单位异常状态的监测分析***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant