[发明专利]一种数据库监控方法、装置、服务器及介质有效
申请号: | 202011445234.9 | 申请日: | 2020-12-08 |
公开(公告)号: | CN112540897B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 刘静;王家贤;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/455;G06F16/21;G06F16/2453 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 监控 方法 装置 服务器 介质 | ||
本发明公开了一种数据库监控方法、装置、服务器及介质,包括:在目标虚拟机运行时,获取所述目标虚拟机所对应数据库语句块的监控信息;获取所述数据库语句块所包含语句的指令偏移和语句类型,其中,所述数据库语句块包括至少一个语句;根据所述监控信息、所述指令偏移和所述语句类型,确定所述目标虚拟机运行中执行时间最长的目标语句。在目标虚拟机运行时,通过本方法获取到的监控信息、指令偏移和语句类型,在减少运算量的前提下,可以提高定位目标虚拟机运行中执行时间最长目标语句的效率,实现了快速目标定位语句。
技术领域
本发明实施例涉及数据库技术,尤其涉及一种数据库监控方法、装置、服务器及介质。
背景技术
数据库系统是上层应用普遍使用的数据管理系统,在数据库系统的使用过程中经常遇到语句块的性能瓶颈问题,找出语句块中性能较慢的语句,进行分析并优化是解决数据库系统性能瓶颈问题的关键。对一个单条SQL语句,可以将其拆分成多个计划节点操作符,然后统计涉及SQL语句操作符的时间。但是,这种方法没有统计具体语句块的时间,其中,语句块可以包括过程/函数调用、动态执行和SQL语句等。因此,不能快速找出慢语句。对数据库中慢语句的定位仍然是首先要解决的技术问题。
现有技术中,为了记录语句块中过程/函数调用、SQL语句或者动态执行的执行时间,可以在过程/函数调用、SQL语句或者动态执行前后的代码里添加print来打印时间信息,进而确定执行较慢的语句。现有技术类似二分法,同时也可以记录过程/函数调用、SQL语句或者动态执行。
但是,现有技术的运算量较大,定位慢语句花费的时间较长,不能有效解决定位语句慢的技术问题。
发明内容
本发明提供一种数据库监控方法、装置、服务器及介质,以实现快速定位虚拟机运行中执行时间最长的语句。
第一方面,本发明实施例提供了一种数据库监控方法,包括:
在目标虚拟机运行时,获取所述目标虚拟机所对应数据库语句块的监控信息;
获取所述数据库语句块所包含语句的指令偏移和语句类型,其中,所述数据库语句块包括至少一个语句;
根据所述监控信息、所述指令偏移和所述语句类型,确定所述目标虚拟机运行中执行时间最长的目标语句。
第二方面,本发明实施例还提供了一种数据库监控装置,包括:
第一执行模块,用于在目标虚拟机运行时,获取所述目标虚拟机所对应数据库语句块的监控信息;
第二执行模块,用于获取所述数据库语句块所包含语句的指令偏移和语句类型,其中,所述数据库语句块包括至少一个语句;
确定模块,用于根据所述监控信息、所述指令偏移和所述语句类型,确定所述目标虚拟机运行中执行时间最长的目标语句。
第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据库监控方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的数据库监控方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011445234.9/2.html,转载请声明来源钻瓜专利网。