CN115982182A - 一种数据库锁定位方法及装置、存储介质、计算机设备 - Google Patents
一种数据库锁定位方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN115982182A CN115982182A CN202211425984.9A CN202211425984A CN115982182A CN 115982182 A CN115982182 A CN 115982182A CN 202211425984 A CN202211425984 A CN 202211425984A CN 115982182 A CN115982182 A CN 115982182A
- Authority
- CN
- China
- Prior art keywords
- session
- target
- database
- information
- target information
- 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
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,具体公开了一种数据库锁定位方法及装置、存储介质、计算机设备,该方法包括:当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息;解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。本申请通过数据库视图确定第一目标信息,并根据第一目标信息和预设锁模型确定第二目标信息,最终根据第二目标信息定位数据库锁,可以实现准确、快速地对数据库锁进行定位的技术效果,在提升数据库锁的定位效率的同时,可以大大提升数据库管理员的体验感。
Description
技术领域
本申请涉及互联网技术领域,尤其是涉及到一种数据库锁定位方法及装置、存储介质、计算机设备。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表格的数据库,到能够进行海量数据存储的大型数据库系统,都在各个方面得到了广泛的应用。
当数据库存在事务并发、资源争用的情况时,数据库很可能会产生锁。当前在对数据库锁进行处理时,通常是依赖有经验的数据库管理员人工对数据库视图进行排查,整个排查过程繁琐,数据库管理员的排查体验较差,同时排查的效率与数据库管理员的经验之间具有直接关系,如果数据库管理员的经验不足,那么会直接影响排查的时间。
发明内容
有鉴于此,本申请提供了一种数据库锁定位方法及装置、存储介质、计算机设备,通过数据库视图确定第一目标信息,并根据第一目标信息和预设锁模型确定第二目标信息,最终根据第二目标信息定位数据库锁,可以实现准确、快速地对数据库锁进行定位的技术效果,在提升数据库锁的定位效率的同时,可以大大提升数据库管理员的体验感。
根据本申请的一个方面,提供了一种数据库锁定位的方法,包括:
当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
根据本申请的另一方面,提供了一种数据库锁定位装置,包括:
监测模块,用于当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
信息获取模块,用于从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
定位模块,用于解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述数据库锁定位方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据库锁定位方法。
借由上述技术方案,本申请提供的一种数据库锁定位方法及装置、存储介质、计算机设备,首先,可以实时对目标数据库进行监测,当监测到目标数据库产生数据库锁时,可以直接确定该目标数据库对应的数据库视图。接着,可以进一步从数据库视图中查询第一目标信息。在这里,第一目标信息中可以包括等待事件信息、运行中会话信息,还可以包括待运行会话信息。之后,可以将获取的第一目标信息输入至预设锁模型中,通过预设锁模型可以输出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长。确定第二目标信息后,可以对第二目标信息进行解析,以解析的结果为基础,进一步确定目标阻塞会话,后续根据目标阻塞会话即可对数据库锁进行定位。本申请实施例通过数据库视图确定第一目标信息,并根据第一目标信息和预设锁模型确定第二目标信息,最终根据第二目标信息定位数据库锁,可以实现准确、快速地对数据库锁进行定位的技术效果,在提升数据库锁的定位效率的同时,可以大大提升数据库管理员的体验感。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种数据库锁定位方法的流程示意图;
图2示出了本申请实施例提供的另一种数据库锁定位方法的流程示意图;
图3示出了本申请实施例提供的另一种数据库锁定位方法的流程示意图;
图4示出了本申请实施例提供的另一种数据库锁定位方法的流程示意图;
图5示出了本申请实施例提供的一种数据库锁定位装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种数据库锁定位方法,如图1所示,该方法包括:
步骤101,当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
本申请实施例提供的数据库锁定位方法,可以应用于服务器一侧。当数据库中存在业务并发、资源争抢的情况时,数据库很有可能会产生数据库锁,本申请提供的数据库锁定位方法,可以快速、准确地对数据库锁进行定位。首先,可以实时对目标数据库进行监测,当监测到目标数据库产生数据库锁时,可以直接确定该目标数据库对应的数据库视图。其中,从数据库视图中可以获取当前目标数据库的运行相关信息。
步骤102,从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
在该实施例中,确定目标数据库对应的数据库视图之后,可以进一步从数据库视图中查询第一目标信息。在这里,第一目标信息中可以包括等待事件信息、运行中会话信息,还可以包括待运行会话信息。从等待事件信息中可以确定当前目标数据库中处于等待状态的事件的相关信息,从运行中会话信息中可以确定当前目标数据库中正在运行的会话的相关信息,从待运行会话信息中可以确定当前目标数据库中处于等待状态的会话的相关信息。接着,可以将获取的第一目标信息输入至预设锁模型中,通过预设锁模型可以输出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长,其中,每个会话标识都是唯一的。
步骤103,解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
在该实施例中,确定第二目标信息之后,可以对第二目标信息进行解析,以解析的结果为基础,进一步确定目标阻塞会话,后续根据目标阻塞会话即可对数据库锁进行定位。这样,可以将目标阻塞会话对应释放资源,即可消除数据库锁,完成数据库锁的恢复。在这里,目标阻塞会话即为引起数据库锁的会话。
通过应用本实施例的技术方案,首先,可以实时对目标数据库进行监测,当监测到目标数据库产生数据库锁时,可以直接确定该目标数据库对应的数据库视图。接着,可以进一步从数据库视图中查询第一目标信息。在这里,第一目标信息中可以包括等待事件信息、运行中会话信息,还可以包括待运行会话信息。之后,可以将获取的第一目标信息输入至预设锁模型中,通过预设锁模型可以输出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长。确定第二目标信息后,可以对第二目标信息进行解析,以解析的结果为基础,进一步确定目标阻塞会话,后续根据目标阻塞会话即可对数据库锁进行定位。本申请实施例通过数据库视图确定第一目标信息,并根据第一目标信息和预设锁模型确定第二目标信息,最终根据第二目标信息定位数据库锁,可以实现准确、快速地对数据库锁进行定位的技术效果,在提升数据库锁的定位效率的同时,可以大大提升数据库管理员的体验感。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种数据库锁定位方法,如图2所示,该方法包括:
步骤201,当监测到目标数据库中产生数据库锁时,获取所述目标数据库对应的等待事件视图、实例视图以及会话视图;
在该实施例中,可以对目标数据库进行实时监测,如果监测到目标数据库中产生了数据库锁,此时可以获取目标数据库对应的多个视图,具体可以包括等待事件视图(v$wait_chains)、实例视图(v$instance)、会话视图(v$session)等。其中,从等待事件视图中可以确定目标数据库运行过程中事件等待情况;从实例视图中可以确定目标数据库运行过程中正在运行的对话情况;从会话视图中可以确定目标数据库运行过程中会话等待情况。
步骤202,将所述等待事件视图、所述实例视图以及所述会话视图通过预设连接字段连接,生成所述数据库视图;
在该实施例中,接着,可以将上述获取的等待事件视图、实例视图、会话视图相互间关联打通,具体可以利用预设连接字段对上述视图进行连接。具体关联打通的方式可以如下:v$wait_chains.instance=v$instance.instance;v$wait_chains.sid=v$session.sid。将等待事件视图、实例视图、会话视图关联打通后,即可生成目标数据库的数据库视图。后续从数据库视图即可查询等待事件视图、实例视图、会话视图三个视图中的任何信息。本申请实施例通过预设连接字段,可以将等待事件视图、实例视图、会话视图相互间关联打通,从而快速生成数据库视图,简单方便,便于后续第一目标信息的查询。
步骤203,基于预设查询项目,从所述数据库视图中分别查询与每个所述预设查询项目对应的项目信息,并基于各个所述预设查询项目对应的项目信息,生成所述第一目标信息;
在该实施例中,生成目标数据库对应的数据库视图之后,可以根据预设查询项目,基于数据库视图确定第一目标信息。其中,预设查询项目可以是人工提前设置的,具体可以包括等待事件项目、运行中会话项目、待运行会话项目。根据等待事件项目可以从数据库视图中查询到对应的项目信息,也即等待事件信息;根据运行中会话项目可以从数据库视图中查询到对应的项目信息,也即运行中会话信息;根据待运行会话项目可以从数据库视图中查询到对应的项目信息,也即待运行会话信息。查询与每个预设项目对应的项目信息之后,即可根据这些项目信息共同生成第一目标信息。
步骤204,通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
在该实施例中,接着,可以将获取的第一目标信息输入至预设锁模型中,通过预设锁模型可以输出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长,其中,每个会话标识都是唯一的。
步骤205,解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
在该实施例中,确定第二目标信息之后,可以对第二目标信息进行解析,以解析的结果为基础,进一步确定目标阻塞会话,后续根据目标阻塞会话即可对数据库锁进行定位。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种数据库锁定位方法,如图3所示,该方法包括:
步骤301,当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
在该实施例中,可以实时对目标数据库进行监测,当监测到目标数据库产生数据库锁时,可以直接确定该目标数据库对应的数据库视图。其中,从数据库视图中可以获取当前目标数据库的相关信息。
步骤302,从所述数据库视图中获取第一目标信息;
在该实施例中,确定目标数据库对应的数据库视图之后,可以进一步从数据库视图中查询第一目标信息。在这里,第一目标信息中可以包括等待事件信息、运行中会话信息,还可以包括待运行会话信息。从等待事件信息中可以确定当前目标数据库中处于等待状态的事件的相关信息,从运行中会话信息中可以确定当前目标数据库中正在运行的会话的相关信息,从待运行会话信息中可以确定当前目标数据库中处于等待状态的会话的相关信息。
步骤303,将所述第一目标信息输入至所述预设锁模型中,通过所述预设锁模型确定所述第一目标信息中是否包括等待事件和/或待运行会话;
在该实施例中,获取第一目标信息之后,可以将第一目标信息输入到预设锁模型中,接着,预设锁模型可以根据其中的判断功能,判断第一目标信息中是否包括等待事件和/或待运行会话。具体地,预设锁模型可以从等待事件信息中识别是否包括等待事件,可以从待运行会话信息中识别是否包括待运行会话。
步骤304,当包括时,确定所述等待事件和/或所述待运行会话对应的等待时长,并基于等待时长大于预设时长的等待事件和/或待运行会话,确定所述第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
在该实施例中,如果预设锁模型经过判断,发现包括等待事件和/或待运行会话,那么接下来可以根据预设锁模型中的筛选过滤功能,从等待事件和/或待运行会话中过滤出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长,其中,每个会话标识都是唯一的。预设锁模型可以是预先设置的,能够执行上述判断功能和筛选过滤功能的任意模型。
步骤305,解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
在该实施例中,确定第二目标信息之后,可以对第二目标信息进行解析,以解析的结果为基础,进一步确定目标阻塞会话,后续根据目标阻塞会话即可对数据库锁进行定位。
在本申请实施例中,可选地,步骤304中所述“基于等待时长大于预设时长的等待事件和/或待运行会话,确定所述第二目标信息”,包括:确定等待时长大于预设时长的等待事件对应的等待会话,并根据所述等待会话,以及等待时长大于预设时长的待运行会话,确定所述阻塞会话;依据所述阻塞会话的数量、每个所述阻塞会话的会话标识以及等待时长,生成所述第二目标信息。
在该实施例中,可以通过预设锁模型从等待时长大于预设时长的等待事件中确定对应的等待会话,一般来说,等待事件的等待时长较长,也是因为对应有等待会话。接着,可以将等待会话和等待时长超过预设时长的待运行会话组合在一起,得到阻塞会话。其中,可以将等待会话和等待时长超过预设时长的待运行会话中重复的会话进行去重处理。在这里,预设时长可以是人工根据会话阻塞经验确定的,超过预设时长非常有可能存在阻塞的情况。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种数据库锁定位方法,如图4所示,该方法包括:
步骤401,当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
在该实施例中,可以实时对目标数据库进行监测,当监测到目标数据库产生数据库锁时,可以直接确定该目标数据库对应的数据库视图。其中,从数据库视图中可以获取当前目标数据库的相关信息。
步骤402,从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
在该实施例中,确定目标数据库对应的数据库视图之后,可以进一步从数据库视图中查询第一目标信息。在这里,第一目标信息中可以包括等待事件信息、运行中会话信息,还可以包括待运行会话信息。从等待事件信息中可以确定当前目标数据库中处于等待状态的事件的相关信息,从运行中会话信息中可以确定当前目标数据库中正在运行的会话的相关信息,从待运行会话信息中可以确定当前目标数据库中处于等待状态的会话的相关信息。接着,可以将获取的第一目标信息输入至预设锁模型中,通过预设锁模型可以输出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长,其中,每个会话标识都是唯一的。
步骤403,基于每个所述阻塞会话对应的所述等待时长,对所述阻塞会话进行排序,并确定等待时长最短的所述阻塞会话对应的目标会话标识;
在该实施例中,根据第二目标信息中每个阻塞会话对应的等待时长,可以按照等待时长对阻塞会话进行排序,具体可以按照等待时长从长到短的顺序进行排列,也可以按照等待时长从短到长的顺序进行排列。排序之后,可以从中确定等待时长最短的阻塞会话,并确定该等待时长最短的阻塞会话对应的目标会话标识,通过目标会话标识即可唯一确定阻塞会话。
步骤404,依据所述目标会话标识,从阻塞进程信息中确定所述目标会话标识对应的目标阻塞会话;
在该实施例中,阻塞进程信息中可以看出各个阻塞会话对应的运行情况。确定目标会话标识之后,可以根据该目标会话标识从阻塞进程信息中确定目标阻塞会话。
步骤405,基于所述目标阻塞会话定位所述数据库锁。
在该实施例中,之后,即可根据目标阻塞会话对数据库锁进行定位。
在本申请实施例中,可选地,步骤404包括:
步骤404-1,依据所述目标会话标识,确定所述第一目标信息中的运行中会话信息指示的运行中会话是否为所述目标会话标识对应的阻塞会话的上一会话;
在该实施例中,根据第一目标信息中的运行中会话信息,可以确定当前目标数据库的运行中会话,接着可以判断该运行中会话是否是目标会话标识对应的阻塞会话的上一会话。如果是上一会话,那么当前目标数据库的运行中会话运行结束后,即执行该目标会话标识对应的阻塞会话。
步骤404-2,当结果为是,且依据所述阻塞进程信息确定所述目标会话标识对应的阻塞会话处于被阻塞状态时,将所述运行中会话作为所述目标阻塞会话。
在该实施例中,如果经过判断发现当前目标数据库的运行中会话是目标会话标识对应的阻塞会话的上一会话,与此同时,阻塞进程信息指示目标会话标识对应的阻塞会话处于被阻塞状态,也即当前目标会话标识对应的阻塞会话正在被其它会话阻塞时,那么此时可以直接将运行中会话作为目标阻塞会话。
此外,如果经过判断发现当前目标数据库的运行中会话不是目标会话标识对应的阻塞会话的上一会话,而且阻塞进程信息指示目标会话标识对应的阻塞会话处于被阻塞状态,那么可以根据阻塞进程信息依次进行排查。例如,目标会话标识对应的阻塞会话为会话6,且会话6处于被阻塞状态,那么可以确定会话6的上一会话,也即会话5是否处于被阻塞状态,如果会话5同样处于被阻塞状态,那么可以确定会话5的上一会话,也即会话4是否处于被阻塞状态,如果会话4没有处于被阻塞状态,那么说明会话4即为目标阻塞会话。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种数据库锁定位装置,如图5所示,该装置包括:
监测模块,用于当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
信息获取模块,用于从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
定位模块,用于解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
可选地,所述监测模块,包括:
视图获取单元,用于获取所述目标数据库对应的等待事件视图、实例视图以及会话视图;
视图连接单元,用于将所述等待事件视图、所述实例视图以及所述会话视图通过预设连接字段连接,生成所述数据库视图。
可选地,所述信息获取模块,包括:
查询单元,用于基于预设查询项目,从所述数据库视图中分别查询与每个所述预设查询项目对应的项目信息,并基于各个所述预设查询项目对应的项目信息,生成所述第一目标信息。
可选地,所述信息获取模块,还包括:
信息输入单元,用于将所述第一目标信息输入至所述预设锁模型中,通过所述预设锁模型确定所述第一目标信息中是否包括等待事件和/或待运行会话;
信息确定单元,用于当包括时,确定所述等待事件和/或所述待运行会话对应的等待时长,并基于等待时长大于预设时长的等待事件和/或待运行会话,确定所述第二目标信息。
可选地,所述信息确定单元,用于:
确定等待时长大于预设时长的等待事件对应的等待会话,并根据所述等待会话,以及等待时长大于预设时长的待运行会话,确定所述阻塞会话;依据所述阻塞会话的数量、每个所述阻塞会话的会话标识以及等待时长,生成所述第二目标信息。
可选地,所述定位模块,包括:
排序单元,用于基于每个所述阻塞会话对应的所述等待时长,对所述阻塞会话进行排序,并确定等待时长最短的所述阻塞会话对应的目标会话标识;
目标阻塞会话确定单元,用于依据所述目标会话标识,从阻塞进程信息中确定所述目标会话标识对应的目标阻塞会话。
可选地,所述目标阻塞会话确定单元,用于:
依据所述目标会话标识,确定所述第一目标信息中的运行中会话信息指示的运行中会话是否为所述目标会话标识对应的阻塞会话的上一会话;当结果为是,且依据所述阻塞进程信息确定所述目标会话标识对应的阻塞会话处于被阻塞状态时,将所述运行中会话作为所述目标阻塞会话。
需要说明的是,本申请实施例提供的一种数据库锁定位装置所涉及各功能单元的其他相应描述,可以参考图1至图4方法中的对应描述,在此不再赘述。
基于上述如图1至图4所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图4所示的数据库锁定位方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图4所示的方法,以及图5所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图4所示的数据库锁定位方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。首先,可以实时对目标数据库进行监测,当监测到目标数据库产生数据库锁时,可以直接确定该目标数据库对应的数据库视图。接着,可以进一步从数据库视图中查询第一目标信息。在这里,第一目标信息中可以包括等待事件信息、运行中会话信息,还可以包括待运行会话信息。之后,可以将获取的第一目标信息输入至预设锁模型中,通过预设锁模型可以输出第二目标信息。在这里,第二目标信息可以包括阻塞会话的数量,此外还可以包括每个阻塞会话对应的会话标识、等待时长。确定第二目标信息后,可以对第二目标信息进行解析,以解析的结果为基础,进一步确定目标阻塞会话,后续根据目标阻塞会话即可对数据库锁进行定位。本申请实施例通过数据库视图确定第一目标信息,并根据第一目标信息和预设锁模型确定第二目标信息,最终根据第二目标信息定位数据库锁,可以实现准确、快速地对数据库锁进行定位的技术效果,在提升数据库锁的定位效率的同时,可以大大提升数据库管理员的体验感。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种数据库锁定位的方法,其特征在于,包括:
当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据库对应的数据库视图,包括:
获取所述目标数据库对应的等待事件视图、实例视图以及会话视图;
将所述等待事件视图、所述实例视图以及所述会话视图通过预设连接字段连接,生成所述数据库视图。
3.根据权利要求1所述的方法,其特征在于,所述从所述数据库视图中获取第一目标信息,包括:
基于预设查询项目,从所述数据库视图中分别查询与每个所述预设查询项目对应的项目信息,并基于各个所述预设查询项目对应的项目信息,生成所述第一目标信息。
4.根据权利要求1所述的方法,其特征在于,所述通过预设锁模型从所述第一目标信息中确定第二目标信息,包括:
将所述第一目标信息输入至所述预设锁模型中,通过所述预设锁模型确定所述第一目标信息中是否包括等待事件和/或待运行会话;
当包括时,确定所述等待事件和/或所述待运行会话对应的等待时长,并基于等待时长大于预设时长的等待事件和/或待运行会话,确定所述第二目标信息。
5.根据权利要求4所述的方法,其特征在于,所述基于等待时长大于预设时长的等待事件和/或待运行会话,确定所述第二目标信息,包括:
确定等待时长大于预设时长的等待事件对应的等待会话,并根据所述等待会话,以及等待时长大于预设时长的待运行会话,确定所述阻塞会话;
依据所述阻塞会话的数量、每个所述阻塞会话的会话标识以及等待时长,生成所述第二目标信息。
6.根据权利要求1所述的方法,其特征在于,所述解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,包括:
基于每个所述阻塞会话对应的所述等待时长,对所述阻塞会话进行排序,并确定等待时长最短的所述阻塞会话对应的目标会话标识;
依据所述目标会话标识,从阻塞进程信息中确定所述目标会话标识对应的目标阻塞会话。
7.根据权利要求6所述的方法,其特征在于,所述依据所述目标会话标识,从阻塞进程信息中确定所述目标会话标识对应的目标阻塞会话,包括:
依据所述目标会话标识,确定所述第一目标信息中的运行中会话信息指示的运行中会话是否为所述目标会话标识对应的阻塞会话的上一会话;
当结果为是,且依据所述阻塞进程信息确定所述目标会话标识对应的阻塞会话处于被阻塞状态时,将所述运行中会话作为所述目标阻塞会话。
8.一种数据库锁定位装置,其特征在于,包括:
监测模块,用于当监测到目标数据库中产生数据库锁时,确定所述目标数据库对应的数据库视图;
信息获取模块,用于从所述数据库视图中获取第一目标信息,并通过预设锁模型从所述第一目标信息中确定第二目标信息,所述第一目标信息包括等待事件信息、运行中会话信息以及待运行会话信息,所述第二目标信息包括阻塞会话的数量、每个阻塞会话对应的会话标识以及等待时长;
定位模块,用于解析所述第二目标信息,从所述第二目标信息中确定目标阻塞会话,并基于所述目标阻塞会话定位所述数据库锁。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211425984.9A CN115982182A (zh) | 2022-11-15 | 2022-11-15 | 一种数据库锁定位方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211425984.9A CN115982182A (zh) | 2022-11-15 | 2022-11-15 | 一种数据库锁定位方法及装置、存储介质、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115982182A true CN115982182A (zh) | 2023-04-18 |
Family
ID=85971065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211425984.9A Pending CN115982182A (zh) | 2022-11-15 | 2022-11-15 | 一种数据库锁定位方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982182A (zh) |
-
2022
- 2022-11-15 CN CN202211425984.9A patent/CN115982182A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522922A (zh) | 日志信息查询方法、装置、存储介质及计算机设备 | |
US10158549B2 (en) | Real-time monitoring of computer system processor and transaction performance during an ongoing performance test | |
CN110533085B (zh) | 同人识别方法及装置、存储介质、计算机设备 | |
CN106301825B (zh) | Dpi规则的生成方法及装置 | |
CN109600387B (zh) | 攻击事件的追溯方法及装置、存储介质、计算机设备 | |
US20180285184A1 (en) | Apparatus, system, and method for analyzing logs | |
CN109669766A (zh) | 批处理作业的处理方法、装置、设备及存储介质 | |
CN111045879A (zh) | 压力测试报告的生成方法、装置及存储介质 | |
CN112463863A (zh) | 一种云平台数据采集方法及装置 | |
CN112364014A (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN112148607A (zh) | 一种业务场景的接口测试方法和装置 | |
CN109240916B (zh) | 信息输出控制方法、装置及计算机可读存储介质 | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN112671878B (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
CN112671614B (zh) | 关联系统连通性测试方法、系统、装置及存储介质 | |
CN115982182A (zh) | 一种数据库锁定位方法及装置、存储介质、计算机设备 | |
CN108804280B (zh) | 一种智能终端在线电子证据追溯系统及方法 | |
CN116719750A (zh) | 软件测试方法及装置、服务器设备和存储介质 | |
CN112579833B (zh) | 基于用户操作数据的业务关联关系获取方法及装置 | |
CN110909072A (zh) | 一种数据表建立方法、装置及设备 | |
CN112214532A (zh) | 一种业务数据的稽核方法及相关装置 | |
CN109886327B (zh) | 一种分布式系统中Java数据的处理系统及方法 | |
CN107169133B (zh) | 一种快照抓取方法、装置、服务器及系统 | |
CN110572401A (zh) | 一种基于DNS over HTTPS的排名统计方法、装置、系统及介质 | |
CN112541183B (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 |