[发明专利]一种检测数据库阻塞的方法及装置无效
| 申请号: | 201010595368.9 | 申请日: | 2010-12-10 |
| 公开(公告)号: | CN102541885A | 公开(公告)日: | 2012-07-04 |
| 发明(设计)人: | 王晓征;肖爱元;李杰毅 | 申请(专利权)人: | 中国移动通信集团浙江有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
| 地址: | 310006 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 检测 数据库 阻塞 方法 装置 | ||
技术领域
本发明涉及ORACLE数据库(DB,DataBase)技术,特别涉及一种检测数据库阻塞(HANG)的方法及装置。
背景技术
现在的数据库,无论是用于数据仓库或操作数据存储,都包含丰富的海量数据对象信息,因而,维护和保障数据库性能,即数据库业务处理能力,对于及时查找和展示用户需要的信息是一个巨大的挑战,当数据库性能下降无法满足应用业务处理能力要求时,将导致应用业务服务阻塞,使得用户明显感知到应用业务处理缓慢、处理时间长,严重影响了用户体验,下面描述中,将数据库的这种现象称之为数据库HANG。
造成数据库HANG的因素较多,主要包括:数据库进程异常、数据库大量输入输出(I/O,Input/Output)等待事件以及数据库并发等待事件等,其中,数据库异常进程能够消耗大量CPU,内存或是I/O资源,导致数据库响应时间长、前台查询缓慢;而数据库I/O等待事件以及并发等待事件将导致数据库整体响应时间过长,从而影响应用业务。
由于影响数据库性能的因素较多,因而,现有技术中,对数据库HANG检测及判断存在一定的难度,在实际生产过程中,常采用如下两种方式来检测数据库是否HANG,下面分别作简要说明。
其一,采用业务感知或业务影响的判断方法:数据库维护人员或开发人员监测发现业务感知或业务处理受到影响,将相关监测信息报告给数据库管理员(DBA,Database Administrator),DBA根据报告的相关监测信息进行处理以消除数据库HANG。
其二,DBA通过调用操作系统命令对数据库进行访问,获取数据库相关数据信息,例如,获取数据库中存储的活动会话历史记录(ASH,ActiveSession History)信息以及自动负载信息库(AWR,Auto Workload Repository)信息,根据返回的数据信息中包含的CPU时间戳(CPU TIME)快照信息、磁盘输入输出(I/O,Input/Output)信息等检查、分析操作系统性能是否异常,或,根据返回的数据信息中包含的相关数据表项来判断数据库是否HANG。
由上述可见,现有检测数据库HANG的方法,对于第一种检测方法,由于需要数据库维护人员或开发人员监测并报告给DBA,然后,DBA再根据报告的相关信息进行处理,而在报告过程中,数据库已经处于停止响应或者响应极度缓慢等HANG状态,因而,造成大面积的应用业务受到影响,不能有效地快速检测数据库HANG问题,检测效率低。而对于第二种通过人工调用操作系统命令检测的方法,如果在对数据库进行访问或登录前,数据库已处于HANG状态,连接到数据库的监控程序可能已经HANG,所有的数据库相关数据信息也都无法正常采集、发送,使得DBA无法访问或登录到数据库去检查相关的数据库动态性能参数,而且,数据库在处于HANG状态时,其存储的相关数据信息将无法访问,使得DBA不能及时获取相关数据信息,因而,不能根据相关数据信息进行及时的分析、处理,同时也延长了数据库故障时间,严重影响了前台应用业务,也不能有效地快速检测数据库HANG问题,检测效率较低;而且,由于数据库数量庞大,如果对于所有数据库都采用人工的检测方法,工作量非常大,并且,不能及时反映数据库当前的状态。此外,现有检测数据库HANG的方法具有被动性,只有通过人为操作,才有可能获取数据库相关信息。
发明内容
有鉴于此,本发明的主要目的在于提出一种检测数据库HANG的方法,提高数据库处于HANG状态的检测效率。
本发明的另一目的在于提出一种检测数据库HANG的装置,提高数据库处于HANG状态的检测效率。
为达到上述目的,本发明提供了一种检测数据库HANG的方法,该方法包括:
接收数据库检测指令,读取根据预先设定的时间周期从数据库中采集存储的当前数据,并从读取的当前数据中获取检测分析结果以及检测的数据库响应时间信息;
根据预先存储的分类数据库信息确定获取的检测分析结果所属的分类数据库,查询预先存储的分类的数据库响应时间信息,获取所属的分类数据库对应的数据库响应时间信息;
如果检测的数据库响应时间超出查询获取的数据库响应时间,确定数据库阻塞。
所述预先存储的分类数据库信息以及预先存储的分类的数据库响应时间信息的步骤具体包括:
根据预先设定的时间周期,从数据库中采集数据并进行存储;
接收响应时间模型指令,读取存储的数据,进行统计、分析,获取分类分析结果,根据分析结果分类数据库,并从数据中获取分类的数据库响应时间信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司,未经中国移动通信集团浙江有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010595368.9/2.html,转载请声明来源钻瓜专利网。





