CN116166338A - 数据库的故障排除方法、装置、设备及存储介质 - Google Patents
数据库的故障排除方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116166338A CN116166338A CN202310158418.4A CN202310158418A CN116166338A CN 116166338 A CN116166338 A CN 116166338A CN 202310158418 A CN202310158418 A CN 202310158418A CN 116166338 A CN116166338 A CN 116166338A
- Authority
- CN
- China
- Prior art keywords
- execution
- database
- statement
- sentences
- class
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及数据库及数字医疗技术领域,具体涉及一种数据库的故障排除方法、装置、设备及存储介质,其方法包括:当确定数据库的性能出现异常,读取数据库的多个分析对象,并根据多个分析对象,并行定位数据库中的多类执行语句;获取数据库的至少一项异常运行指标,并根据获取的异常运行指标关联多类执行语句中的若干类,作为目标类执行语句;对各目标类执行语句进行查杀,以使所述数据库的性能恢复正常。本申请实现了多个执行语句的并行查杀,使得数据库快速恢复正常;本申请高效、自动、响应速度快、能够争取最大的数据库可用率;且全程无需人工介入、可智能应用于数据库应急场景,极大降低应急响应时间、保障业务连续性。
Description
技术领域
本申请涉及数据库及数字医疗技术领域,具体涉及一种数据库的故障排除方法、装置、设备及存储介质。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,如在数字医疗技术领域,其可以用于存储患者信息以及患者病例等。
当数据库有性能波动时,会造成外部服务访问数据库困难。当数据库故障是由执行语句(SQL语句)导致时,这时候如果确认相关SQL可以进行查杀(KILL)。但是现有技术中,常规做法是查询出SQL对应的进程IP,进行查杀,这样一次只能进行一个进程的查杀,效率低,故障应急时间长,步骤冗长。
发明内容
为解决上述问题,本申请实施例提供了一种数据库的故障排除方法、装置、设备及存储介质,该方法可实现批量执行语句的查杀,以克服或者至少部分克服现有技术中的不足之处。
第一方面,本申请实施例提供了一种数据库的故障排除方法,所述方法由管理服务器执行,所述方法包括:
当确定所述数据库的性能出现异常,读取所述数据库的多个分析对象,并根据所述多个分析对象,并行定位所述数据库中的多类执行语句;
获取所述数据库的至少一项异常运行指标,并根据获取的异常运行指标关联所述多类执行语句中的若干类,作为目标类执行语句;
对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常。
第二方面,本申请实施例还提供了一种数据库的故障排除装置,所述装置包括:
定位单元,用于当确定所述数据库的性能出现异常,读取所述数据库的多个分析对象,并根据所述多个分析对象,并行定位所述数据库中的多类执行语句;
关联单元,用于获取所述数据库的至少一项异常运行指标,并根据各所述异常运行指标确定所述多类执行语句中的若干类作为目标类执行语句;
查杀单元,用于对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常。
第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述数据库的故障排除方法的步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被处理器指令时实现上述数据库的故障排除方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请在当确定所述数据库的性能出现异常,可并行读取所述数据库的多个分析对象,并根据所述多个分析对象,定位到可能导致数据库出现故障的多类执行语句;并进一步结合数据库的异常运行指标,根据异常运行指标关联到多类执行语句中的一类或者几类为作为目标类执行语句,然后对各目标类执行语句进行查杀,以使数据库的性能恢复正常。本申请实现了多个执行语句的并行查杀,使得数据库快速恢复正常;本申请高效、自动、响应速度快、能够争取最大的数据库可用率;且全程无需人工介入、可智能应用于数据库应急场景,极大降低应急响应时间、保障业务连续性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一个实施例的数据管理系统的结构示意图;
图2示出了根据本申请的一个实施例的数据库的故障排除方法的流程示意图;
图3示出了根据本申请的另一个实施例的数据库的故障排除方法的流程示意图;
图4示出了根据本申请的一个实施例的数据库的故障排除装置的结构示意图;
图5示出根据本申请的一个实施例的计算机设备的结构示意图;
图6示出根据本申请的另一个实施例的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
数据库在运行过程中,由于大量的请求对数据进行访问,极度占用数据库的算力资源,难免会使数据库的性能发生波动,现有技术中,当数据库故障是由执行语句(SQL语句)导致时,这时候如果确认相关SQL可以进行KILL。但是现有技术中,常规做法是查询出SQL对应的进程IP,进行KILL,这样一次只能进行一个进程的查杀,效率低,故障应急时间长,步骤冗长。
如在数字医疗场景中,如果数据库出现波动,导致对外不能提供服务,医生需要查阅患者病例,这时候如果采用传统方式对数据库的故障进行排查,也会耽误问诊进度,给用户带来不好的体验。
为此,本申请提供一种数据库的故障排除方法,该方法能够实现数据库故障的快速排除。图1示出了根据本申请的一个实施例的数据管理系统的结构示意图,从图1可以看出,数据管理系统100包括通信连接数据库110和管理服务器120,数据库110可对外通信连接业务系统等应用,对外提供数据读写服务等,管理服务器120可以理解一种可对数据库110运行情况进行监管的一个服务器,其并不对外提供服务,主要是为了维护数据库正常运行而设置。
本申请的数据库的故障排除方法可通过上述的数据管理系统100实现,具体应用于管理服务器120,但需要说明的是,本申请并不局限于上述图1示出的数据管理系统100,凡是能够实现本申请业务逻辑的实体或虚拟的系统或装置均可,如将本申请的方法集成一个插件工具,部署于数据库对外提供直接服务的应用层中也可。还有很多应用方式,这里不再一一列举。
图2示出了根据本申请的一个是实施例的数据库的故障排除方法的流程示意图,从图2中可以看出,本申请至少包括步骤S210~步骤S230:
步骤S210:当确定所述数据库的性能出现异常,读取所述数据库的多个分析对象,并根据所述多个分析对象,并行定位所述数据库中的多类执行语句。
数据库在运行的时候,管理服务器120可对数据库运行的健康情况进行实时监管,若发现数据库的性能出现波动,则读取数据库的多个分析对象,分析对象可以理解为记录数据库运行情况的数据表格或者是视图等等,包括但不限于用户视图、会话视图等等。
对得到的分析对象进行解析,可得到各个执行语句的情况,从而可定位到可能引起数据库故障的多类执行语句。执行语句可以理解为数据路当前执行的计算机语句,引起数据库故障的通常是执行语句过多、或者占用资源大等,这些执行语句中包括写入语句以及读取语句等等,通常为SQL语句,后续为了排除数据库故障,可通过将引起数据库故障的SQL语句进行查杀实现。本申请中的“类执行语句”可以理解为引起数据库同一故障的多个执行语句,将这些执行语句归为一类。
这里需要强调的是,对多类执行语句的定位是并行的,如可以启动多线程并行执行,每一个线程负责一类执行语句的定位。
具体的,在本申请的一些实施例中,根据所述多个分析对象,并行定位所述数据库中的多类执行语句,包括:将所述多个分析对象,按照所述类执行语句的类型,分为分析对象集合,其中,所述多类执行语句的类型包括:物理消耗型执行语句、连接占用型执行语句、以及当前在线型执行语句;并行对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数值;以及对所述多条执行语句进行排序,以定位多类执行语句。
本申请中,将数据库运行的健康状况抽象凝练成多项不同的运行指标,每一类执行语句对应一项运行指标。因此在定位执行语句时,可按照运行指标所需的维度将多个分析对象,划分为多个分析对象集合,在一个分析对象集合中包含一个或者多个分析对象,各个分析对象集合之中的分析对象也可能会存在交叉,对此本申请不作限定。
在定位执行语句时,先将所述多个分析对象,按照所述类执行语句的类型,分为多个分析对象集合,其中,所述多类执行语句的类型包括但不限于:物理消耗型执行语句、连接占用型执行语句、以及当前在线型执行语句等等,可将得到的分析对象集合记为第一分析对象集合、第二分析对象集合、和第三分析对象集合。
然后并行对各个分析对象集合进行目标信息的提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数值;性能参数表征这一个执行语句相应的性能,如CPU负载、IO负载等等,然后根据各条执行语句的性能参数值,按照预设维度,对多条执行语句进行排序,从而定位到对应的类执行语句,这一类执行语句中通常包含多条执行语句。
如在第一分析对象集合中,包含历史活跃会话视图与用户视图,对执行语句进行定位时,可通过历史活跃会话视图与用户视图通过用户字段关联,传入故障时间段,查询各个SQL物理IO和/或CPU使用的消耗情况,并根据IO使用与CPU使用降序排序,定位对应的SQL。
步骤S220:获取所述数据库的至少一项异常运行指标,并根据获取的异常运行指标关联所述多类执行语句中的若干类,作为目标类执行语句。
将数据库运行的健康状况抽象凝练成多项不同的运行指标,包括但不限于:中央处理器(CPU)负荷、逻辑读取、输入输出(I/O)负载、活跃会话数(active session)、剩余存储空间(MEMORY)、重做日志(redo)、读写(read/wri)、以及延迟(lag)等等。
当数据库出现故障时,并不是所有的运行指标均出现异常,因此为了高效、准确地排除故障,可将上述对执行语句的定位结果与异常运行指标关联起来,具体的,可根据运行指标与类执行语句之间的关系进行关联。
具体的,若获取的异常运行指标为物理消耗负载,则关联物理消耗型执行语句,即将所述物理消耗型执行语句作为目标类执行语句;若获取的异常运行指标为输入输出负载,则关联连接占用型执行语句,即将所述连接占用型执行语句作为目标类执行语句;若获取的异常运行指标为逻辑读取,则关联当前在线型执行语句,则将所述当前在线型执行语句作为目标类执行语句。
也就是说,当发现数据库的物理消耗过载时,则关联到根据第一分析对象集合定位到的多个执行语句;当发现数据库输入输出过载时,则关联到根据第二分析对象集合定位到的多个执行语句;当发现数据库逻辑读取过高时,则关联到根据第三分析对象集合定位到的多个执行语句。
需要说明的是,本申请不局限于此处给出的示例,对于数据库的各种异常运行指标均可处理,这里不再赘述。
需要强调的是,如果获取到的异常运行指标为两项或者两项以上,则关联到的类执行语句的数量对应也为两类或者两类以上。
在本申请的一些实施例中,管理服务器120还可以对数据库的运行指标进行监测,从而能够确定出数据库是否存在性能波动,如各个运行指标的异常判定规则是根据历史情况事先设定好的,如可对各个运行指标赋予异常阈值,比如CPU负荷大于80%,即判定数据库性能异常。
管理服务器120可实时采集数据库运行的上述数据,并进行数据库是否异常的判断。这里所谓的“实时”可以通过设置预设周期的形式出现,如以5s为一个预设周期,每当时间达到一个预设周期,则采集一次数据,并将采集到的每项运行指标与预设的对应的指标异常判定规则进行匹配,确定数据库是否出现异常。
在一些实施例中,对于预设周期的设定,可采用定时任务的方式,如以5s为周期设置定时任务,这样在宏观上,管理服务器120对数据库的运行指标数据的采集在宏观上就形成了一种“实时且持续”的状态,对于预设周期,本申请不作限定,可根据需要设定。
在本申请的一些实施例中,在所述异常判定规则中设置有各项运行指标对应的指标异常阈值以及判定子规则;在根据预设的异常判定规则,确定出现异常的目标运行指标时,具体可包括:并行根据采集到的各项运行指标的数据、以及对应的指标异常阈值和判定子规则,确定各项运行指标是否存在异常;若一项或者几项运行指标存在异常,则确定数据库性能异常,且将存在异常的运行指标作为目标运行指标。
需要说明的是,各个运行指标之间是相互独立的,每个运行指标的指标异常判定规则通常是不同的,且量纲通常也是不同的,判定子规则也需要依据运行指标的具体内容设定,如设置CPU负荷的指标异常判定子规则中限定CPU负荷的异常阈值为80%,当发现采集到的CPU负荷达到80%或者以上,则判断数据库运行异常,将CPU负荷作为目标运行指标,并触发后续流程;若每一项运行指标均正常,则继续等待下一个预设周期到来,并循环上述过程。对此,本申请不作限定,凡是符合本技术领域合理范围的设定都是可接受的。
且在判断数据库是否运行异常时,需要确定每一个运行指标均正常,才能确定数据库整体运行正常,若是多项运行指标中,有一项出现异常,即可确定数据库运行异常。
步骤S230:对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常。
最后对确定的目标类执行语句进行查杀,直到监测到异常运行指标已经回到正常范围内,则停止查杀。
由图2所示的方法可以看出,本申请在当确定所述数据库的性能出现异常,可并行读取所述数据库的多个分析对象,并根据所述多个分析对象,定位到可能导致数据库出现故障的多类执行语句;并进一步结合数据库的异常运行指标,根据异常运行指标关联到多类执行语句中的一类或者几类为作为目标类执行语句,然后对各目标类执行语句进行查杀,以使数据库的性能恢复正常。本申请实现了多个执行语句的并行查杀,直至数据库负载降回安全线内;本申请的方法高效、自动、响应速度快、能够争取最大的数据库可用率;且全程无需人工介入、可智能应用于数据库应急场景,极大降低应急响应时间、保障业务连续性。
下面举出几个示例,对不同的分析对象进行分析,定位不同类的类执行语句进行简单说明。
在本申请的一些实施例中,在上述方法中,所述类执行语句的类型为物理消耗型执行语句,所述分析对象集合包括:历史活跃会话视图、和用户视图;所述对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数数据;以及对所述多条执行语句进行排序,以定位多类执行语句,包括:根据用户字段,关联所述历史活跃会话视图和所述用户视图;根据关联结果,确定故障时间段内的多条执行语句,以及各条所述执行语句的物理消耗,所述物理消耗包括:处理器负载和/或输入和输出消耗;按照所述物理消耗,对所述多条执行语句进行降序排列,得到物理消耗型执行语句。
也就是说,对于数据库的物理消耗这一运行指标来讲,其分析对象集合为历史活跃会话视图和用户视图,具体处理时,可将历史活跃会话视图与用户视图通过用户字段关联起来,然后传入故障时间段,查询历史活跃会话视图与用户视图中涉及的各个SQL的物理IO和/或CPU使用的消耗情况,并对各个SQL,根据IO消耗情况与CPU消耗情况进行降序排序,从而定位到对应的SQL。
在本申请的另一些实施例中,在上述方法中,所述类执行语句的类型为连接占用型执行语句,所述分析对象集合包括:会话视图;所述对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数数据;以及对所述多条执行语句进行排序,以定位多类执行语句,包括:读取所述会话视图中,查询数量大于预设阈值且会话状态为活跃的多个目标用户以及对应的机器连接信息;根据所述机器连接信息,对多个目标用户进行降序排序;确定排序结果中排序在前的一个或几个目标用户的多条执行语句,作为连接占用型执行语句。
也就是说,对于数据库的输入输出负载这一运行指标来讲,其分析对象集合为会话视图,具体的,可以在会话视图中,确定其中涉及的查询连续数大于预设阈值(如10)且会话状态为活跃的的多个目标用户名以及对应的连接机器信息(连接的机器数量以及机器ID等),对于出故障时间段内,的多个目标用户,按照连接机器数量的多寡进行降序排列,然后定位到每个目标用户的多条执行语句,作为连接占用型执行语句。
在本申请的又一些实施例中,在上述方法中,所述类执行语句的类型为当前在线型执行语句;所述分析对象集合包括:当前活跃会话视图、进程视图、会话等待事件视图;所述对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数数据;以及对所述多条执行语句进行排序,以定位多类执行语句,包括:关联所述当前活跃会话视图、所述进程视图、以及所述会话等待事件视图;根据关联结果,确定故障时间段内的多条执行语句,以及各条所述执行语句的执行总数;按照所述执行总数,对所述多条执行语句进行降序排列,得到当前在线型执行语句。
也就是说,对于数据库的逻辑读取这一运行指标,其分析对象集合包括:在活跃会话视图,进程视图以及会话等待事件视图,将这三者通过关联,捞取当前连接中执行的SQL的标识信息(如SQL_ID),以及每个SQL正在执行的总数,并根据执行总数从大到小进行降序排序,从而定位对应的SQL,得到连接占用型执行语句。
在本申请的一些实施例中,在上述方法中,所述对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常,包括:并行对所述目标类执行语句中的多条执行语句按照排序结果依次进行查杀,并监测所述异常运行指标是否小于对应的预设异常阈值;若是,则停止查杀;若否,则保持查杀,直到所述异常运行指标否小于对应的预设异常阈值。
根据上述方法定位到的类执行语句,是按照导致数据库故障的因素从高到低的顺序进行排序,因此对目标类执行语句进行查杀时,可以按照排序结果由高到低依次查杀,并且实时监测数据库的异常运行指标是否恢复正常,具体的,判断异常运行指标是否小于预设的预设异常阈值,当发现异常运行指标小于预设的预设异常阈值,则可以停止查杀,数据库恢复运行;若异常运行指标仍然在预设的预设异常阈值之上,则继续保持查杀,直到异常运行指标小于预设的预设异常阈值。
图3示出了根据本申请的另一个是实施例的数据库的故障排除方法的流程示意图,从图3可以看出,本申请实施例包括:
管理服务器实时监测数据库的性能,若确定数据库出现异常,则进入数据库的故障排除方法流程。
读取数据库的多个分析对象,并且分成多个分析对象集合,包括第一分析对象集合、第二分析对象集合和第三分析对象集合;其中,第一分析对象集合包括历史活跃会话视图和用户视图;第二分析对象集合:会话视图;第三分析对象集合:当前活跃会话视图、进程视图和会话等待事件视图。
分别对第一分析对象集合、第二分析对象集合和第三分析对象集合进行目标信息的提取,分别定位到物理消耗型执行语句、连接占用型执行语句和当前在线型执行语句。
获取数据库的异常运行指标,并关联目标类执行语句。这里假设异常运行指标为物理消耗负载,关联物理消耗型执行语句为目标类执行语句。
对物理消耗型执行语句按照排序结果从高到低依次查杀,并同时判断异常运行指标是否小于预设异常阈值;
若小于,则停止查杀,数据库恢复;若不小于,则继续保持查杀。
图4示出了根据本申请的一个实施例的数据库的故障排除装置的结构示意图,数据库的故障排除装置可部署于管理服务器,所述装置400包括:
定位单元410,用于当确定所述数据库的性能出现异常,读取所述数据库的多个分析对象,并根据所述多个分析对象,并行定位所述数据库中的多类执行语句;
关联单元420,用于获取所述数据库的至少一项异常运行指标,并根据各所述异常运行指标确定所述多类执行语句中的若干类作为目标类执行语句;
查杀单元430,用于对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常。
在本申请的一些实施例中,在上述装置中,定位单元410,用于将所述多个分析对象,按照所述类执行语句的类型,分为分析对象集合,其中,所述多类执行语句的类型包括:物理消耗型执行语句、连接占用型执行语句、以及当前在线型执行语句;并行对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数值;以及对所述多条执行语句进行排序,以定位多类执行语句。
在本申请的一些实施例中,在上述装置中,所述类执行语句的类型为物理消耗型执行语句,所述分析对象集合包括:历史活跃会话视图、和用户视图;定位单元410,用于根据用户字段,关联所述历史活跃会话视图和所述用户视图;根据关联结果,确定故障时间段内的多条执行语句,以及各条所述执行语句的物理消耗,所述物理消耗包括:处理器负载和/或输入和输出消耗;按照所述物理消耗,对所述多条执行语句进行降序排列,得到物理消耗型执行语句。
在本申请的一些实施例中,在上述装置中,所述类执行语句的类型为连接占用型执行语句,所述分析对象集合包括:会话视图;定位单元410,用于读取所述会话视图中,查询数量大于预设阈值且会话状态为活跃的多个目标用户以及对应的机器连接信息;根据所述机器连接信息,对多个目标用户进行降序排序;确定排序结果中排序在前的一个或几个目标用户的多条执行语句,作为连接占用型执行语句。
在本申请的一些实施例中,在上述装置中,所述类执行语句的类型为当前在线型执行语句;所述分析对象集合包括:当前活跃会话视图、进程视图、会话等待事件视图;定位单元410,用于关联所述当前活跃会话视图、所述进程视图、以及所述会话等待事件视图;根据关联结果,确定故障时间段内的多条执行语句,以及各条所述执行语句的执行总数;按照所述执行总数,对所述多条执行语句进行降序排列,得到当前在线型执行语句。
在本申请的一些实施例中,在上述装置中,关联单元420,用于若获取的异常运行指标为物理消耗负载,则将所述物理消耗型执行语句作为目标类执行语句;和/或,若获取的异常运行指标为输入输出负载,则将所述连接占用型执行语句作为目标类执行语句;和/或,若获取的异常运行指标为逻辑读取,则将所述当前在线型执行语句作为目标类执行语句。
在本申请的一些实施例中,在上述装置中,查杀单元430,用于并行对所述目标类执行语句中的多条执行语句按照排序结果依次进行查杀,并监测所述异常运行指标是否小于对应的预设异常阈值;若是,则停止查杀;若否,则保持查杀,直到所述异常运行指标否小于对应的预设异常阈值。
需要说明的是,上述数据库的故障排除装置可一一实现前述的数据库的故障排除方法,对此不再赘述。
图5示出了本申请一个实施例的计算机设备的结构示意图,根据图5所示,该计算机设备的内部结构可以包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现数据库的故障排除方法服务端侧的功能或步骤。
在一个实施例中,本申请提供的计算机设备,包括存储器和处理器,存储器存储有数据库和可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述的数据库的故障排除方法的步骤。
在一个实施例中,还提供了一种计算机设备,该计算机设备可以是开发端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现数据库的故障排除方法开发端侧的功能或步骤。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述的数据库的故障排除方法的步骤:
需要说明的是,上述关于计算机设备或计算机可读存储介质所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧、开发端侧的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据库的故障排除方法,其特征在于,所述方法由管理服务器执行,所述方法包括:
当确定所述数据库的性能出现异常,读取所述数据库的多个分析对象,并根据所述多个分析对象,并行定位所述数据库中的多类执行语句;
获取所述数据库的至少一项异常运行指标,并根据获取的异常运行指标关联所述多类执行语句中的若干类,作为目标类执行语句;
对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个分析对象,并行定位所述数据库中的多类执行语句,包括:
将所述多个分析对象,按照所述类执行语句的类型,分为分析对象集合,其中,所述多类执行语句的类型包括:物理消耗型执行语句、连接占用型执行语句、以及当前在线型执行语句;
并行对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数值;以及对所述多条执行语句进行排序,以定位多类执行语句。
3.根据权利要求2所述的方法,其特征在于,所述类执行语句的类型为物理消耗型执行语句,所述分析对象集合包括:历史活跃会话视图、和用户视图;
所述对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数数据;以及对所述多条执行语句进行排序,以定位多类执行语句,包括:
根据用户字段,关联所述历史活跃会话视图和所述用户视图;
根据关联结果,确定故障时间段内的多条执行语句,以及各条所述执行语句的物理消耗,所述物理消耗包括:处理器负载和/或输入和输出消耗;
按照所述物理消耗,对所述多条执行语句进行降序排列,得到物理消耗型执行语句。
4.根据权利要求2所述的方法,其特征在于,所述类执行语句的类型为连接占用型执行语句,所述分析对象集合包括:会话视图;
所述对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数数据;以及对所述多条执行语句进行排序,以定位多类执行语句,包括:
读取所述会话视图中,查询数量大于预设阈值且会话状态为活跃的多个目标用户以及对应的机器连接信息;
根据所述机器连接信息,对多个目标用户进行降序排序;
确定排序结果中排序在前的一个或几个目标用户的多条执行语句,作为连接占用型执行语句。
5.根据权利要求2所述的方法,其特征在于,所述类执行语句的类型为当前在线型执行语句;所述分析对象集合包括:当前活跃会话视图、进程视图、会话等待事件视图;
所述对各所述分析对象集合进行目标信息提取,确定故障时间段内各所述分析对象集合涉及的多条执行语句、和各条执行语句的性能参数数据;以及对所述多条执行语句进行排序,以定位多类执行语句,包括:
关联所述当前活跃会话视图、所述进程视图、以及所述会话等待事件视图;
根据关联结果,确定故障时间段内的多条执行语句,以及各条所述执行语句的执行总数;
按照所述执行总数,对所述多条执行语句进行降序排列,得到当前在线型执行语句。
6.根据权利要求2所述的方法,其特征在于,所述根据获取的异常运行指标关联所述多类执行语句中的若干类,作为目标类执行语句,包括:
若获取的异常运行指标为物理消耗负载,则将所述物理消耗型执行语句作为目标类执行语句;
和/或,
若获取的异常运行指标为输入输出负载,则将所述连接占用型执行语句作为目标类执行语句;
和/或,
若获取的异常运行指标为逻辑读取,则将所述当前在线型执行语句作为目标类执行语句。
7.根据权利要求3~5中任一项所述的方法,其特征在于,所述对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常,包括:
并行对所述目标类执行语句中的多条执行语句按照排序结果依次进行查杀,并监测所述异常运行指标是否小于对应的预设异常阈值;
若是,则停止查杀;
若否,则保持查杀,直到所述异常运行指标否小于对应的预设异常阈值。
8.一种数据库的故障排除装置,其特征在于,所述装置包括:
定位单元,用于当确定所述数据库的性能出现异常,读取所述数据库的多个分析对象,并根据所述多个分析对象,并行定位所述数据库中的多类执行语句;
关联单元,用于获取所述数据库的至少一项异常运行指标,并根据各所述异常运行指标确定所述多类执行语句中的若干类作为目标类执行语句;
查杀单元,用于对各所述目标类执行语句进行查杀,以使所述数据库的性能恢复正常。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的数据库的故障排除方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器指令时实现如权利要求1至7任一项所述的数据库的故障排除方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310158418.4A CN116166338A (zh) | 2023-02-16 | 2023-02-16 | 数据库的故障排除方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310158418.4A CN116166338A (zh) | 2023-02-16 | 2023-02-16 | 数据库的故障排除方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166338A true CN116166338A (zh) | 2023-05-26 |
Family
ID=86416113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310158418.4A Pending CN116166338A (zh) | 2023-02-16 | 2023-02-16 | 数据库的故障排除方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166338A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662059A (zh) * | 2023-07-24 | 2023-08-29 | 上海爱可生信息技术股份有限公司 | MySQL数据库CPU故障诊断及自愈方法及可读存储介质 |
-
2023
- 2023-02-16 CN CN202310158418.4A patent/CN116166338A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662059A (zh) * | 2023-07-24 | 2023-08-29 | 上海爱可生信息技术股份有限公司 | MySQL数据库CPU故障诊断及自愈方法及可读存储介质 |
CN116662059B (zh) * | 2023-07-24 | 2023-10-24 | 上海爱可生信息技术股份有限公司 | MySQL数据库CPU故障诊断及自愈方法及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112433919B (zh) | 一种信息告警方法、设备及存储介质 | |
CN112035404B (zh) | 医疗数据监控与预警方法、装置、设备及存储介质 | |
US8375251B2 (en) | Monitoring and healing a computing system | |
US9674031B2 (en) | Automated management of a distributed computing system | |
Jiang et al. | Efficient fault detection and diagnosis in complex software systems with information-theoretic monitoring | |
CN116166338A (zh) | 数据库的故障排除方法、装置、设备及存储介质 | |
US20240272975A1 (en) | Method and system for upgrading cpe firmware | |
CN110674014A (zh) | 一种确定异常查询请求的方法及装置 | |
CN113656168A (zh) | 一种流量的自动容灾和调度的方法、系统、介质和设备 | |
CN113254255A (zh) | 一种云平台日志的分析方法、系统、设备及介质 | |
CN112540887A (zh) | 故障演练方法、装置、电子设备及存储介质 | |
Fu et al. | Performance issue diagnosis for online service systems | |
CN116126621A (zh) | 大数据集群的任务监控方法及相关设备 | |
CN109542722A (zh) | 异常分析处理方法、装置及存储介质 | |
CN113283502A (zh) | 基于聚类的设备状态阈值确定方法和装置 | |
US7962692B2 (en) | Method and system for managing performance data | |
CN110363381B (zh) | 一种信息处理方法和装置 | |
CN112286757A (zh) | 数据同步的监控方法、装置、电子设备及存储介质 | |
CN116643906B (zh) | 云平台故障的处理方法、装置、电子设备及存储介质 | |
CN113886130A (zh) | 一种处理数据库故障的方法,装置及介质 | |
CN110011845B (zh) | 日志采集方法及系统 | |
CN116414661B (zh) | 分布式存储的固态硬盘处理方法和装置 | |
CN116126833A (zh) | 数据库故障的定位方法、装置、设备及可读存储介质 | |
CN114297034B (zh) | 云平台监控方法及云平台 | |
WO2022088515A1 (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 |