CN111522793A - 一种Oracle数据库执行计划异常的检测方法 - Google Patents
一种Oracle数据库执行计划异常的检测方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000036541 health Effects 0.000 claims abstract description 50
- 230000002159 abnormal effect Effects 0.000 claims abstract description 23
- 238000013210 evaluation model Methods 0.000 claims abstract description 8
- 230000008439 repair process Effects 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 12
- 230000005856 abnormality Effects 0.000 claims description 5
- 238000004445 quantitative analysis Methods 0.000 abstract 1
- 238000012423 maintenance Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational 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数据库在解析SQL语句时,使用的是CBO评估模型,在高并发类***中,当Oracle单表记录条数超过百亿时,数据库经常会出现执行计划异常,导致sql响应时间变长,session会话堵塞,随着时间的累积,影响范围不断扩大,最终导致数据库资源全部用来处理执行计划异常的sql,无法响应新的请求,影响业务开展。
鉴于Oracle执行计划异常难以发现,业界目前还没有成熟的自动化工具,处理方式还是被动运维模式,在业务***出现异常后,靠运维人员手动介入分析和处理。
然而手动处理的方式在定位问题时需要较长的时间,而金融类***有很高的时效性要求,故障持续的时间过长会对企业造成巨大的经济损失,甚者影响公司评级和业务开展范围。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种Oracle数据库执行计划异常的检测方法,通过对数据库执行计划异常后的***表现进行归纳总结,抽象出量化分析指标,实现Oracle执行计划异常后,由***自动判断和应急处理,以减少故障发现时间和应急处理时间,提升业务连续性。
本发明提供一种Oracle数据库执行计划异常的检测方法,包括如下步骤,
步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;
步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;
步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确。
步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。
作为本发明的进一步技术方案,步骤S1中,数据库执行计划健康评估模型的公式为
其中,H为数据库执行计划健康值,Session为当前数据库的会话数,Active为当前数据库的活跃会话数,MaxActive为数据库活跃会话数阈值,QT为当前活跃SQL的平均响应时间,MaxQT为平均响应时间阈值,RT为统计时间段接口平均耗时,MaxRT为接口平均耗时阈值,为统计时间段内业务***平均每秒查询量,为预设的业务***平均每秒查询量。
进一步的,步骤S2的具体步骤为,
步骤S24、设置异常次数Error=0;
步骤S26、查询前一个Time时间段内接口的平均耗时QPS;
步骤S27、根据执行计划健康评估模型计算健康值H。
本发明通过分析大量数据库执行计划异常的案例,构建数据库执行计划健康评估模型,解决了数据库执行计划异常难发现的问题,运维人员可结合监控***和拨测***,从应用层和数据库层丰富健康评估维度,实现Oracle执行计划异常场景的自动发现和修复,减少故障发现和修复的时间,提升业务连续性。
具体实施方式
本实施例提供一种Oracle数据库执行计划异常的检测方法,包括如下步骤,
步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;
步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;
步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确。
步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。
数据库执行计划健康评估模型的公式为
其中,H为数据库执行计划健康值,Session为当前数据库的会话数,Active为当前数据库的活跃会话数,MaxActive为数据库活跃会话数阈值,QT为当前活跃SQL的平均响应时间,MaxQT为平均响应时间阈值,RT为统计时间段接口平均耗时,MaxRT为接口平均耗时阈值,为统计时间段内业务***平均每秒查询量,为预设的业务***平均每秒查询量。
该方法的检测过程如下;
步骤4,设置异常次数Error=0。
步骤6,查询前Time时间段内接口的平均耗时QPS。
步骤7,根据执行计划健康评估模型计算健康值H。
该方法引入了数据库执行计划健康指标的概念,构建数据库执行计划健康评估模型,解决数据库执行计划异常难发现的问题,运维人员可结合监控***和拨测***,从应用层和数据库层丰富健康评估维度,实现Oracle执行计划异常场景的自动发现和修复,减少故障发现和修复的时间,提升业务连续性。
以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进一步说明本发明的原理,在不脱离本发明精神范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权利要求书及其等效物界定。
Claims (5)
1.一种Oracle数据库执行计划异常的检测方法,其特征在于,包括如下步骤,
步骤S1、分析归纳执行计划异常数据,构建数据库执行计划健康评估模型;
步骤S2、确定模型中各预设阈值参数,初始化错误次数,输入当前业务场景和数据库性能参数,计算出当前健康值;
步骤S3、若当前健康值小于等于预设的健康最小值,则错误次数加1,若当前健康值大于预设的健康最小值,则当次执行正确;
步骤S4、当错误次数累积值大于预设阈值,则表示执行计划异常,发送告警信息或执行修复脚本。
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≤δ,则执行下一计划。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297307A (zh) * | 2020-08-15 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据库请求识别、异常检测方法、装置、设备及介质 |
Citations (3)
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 | ***通信集团浙江有限公司 | 检测数据库节点健康状况的方法及装置 |
-
2020
- 2020-03-26 CN CN202010223047.XA patent/CN111522793B/zh active Active
Patent Citations (3)
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)
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 |