一种数据库容量分析方法及系统与流程

文档序号:12063822阅读:190来源:国知局
一种数据库容量分析方法及系统与流程

本发明实施例涉及数据库技术领域,尤其涉及一种数据库容量分析方法及系统。



背景技术:

Oracle数据库系统是目前世界上最流行的关系数据库管理系统之一,因其可移植性好、使用方便、功能强大而在各类大、中型企业中广泛采用。

近年来,Oracle数据库系统应用规模的扩大以及自动化运维风潮的兴起,亟需Oracle数据库容量分析预测工具来分析数据库中各个指标的趋势,从而为用户针对数据库的容量进行调整提供了参考,为资源再平衡和特殊场景下的资源规划给出合理的容量配置规划建议,保障应用系统健康运行,实现IT资源的合理配置和使用,节约IT资源投资。但是,由于Oracle数据库容量评估、资源规划的复杂性以及传统上研发、运维隔离的弊端,使得缺乏专门的系统来对数据库容量进行分析,这就导致传统的监控管理系统在应对诸如系统的某个指标在某个瞬间曾出现过异常时,由于监控采样间隔过大或监控事件尚未完善等缘故,异常被遗漏继而导致故障的情况时有发生。在开发人员需要对数据库容量进行分析时,大多数都是各个开发人员自行编写的一个小工具来满足自身对开发的需求,且针对不同的Oracle数据库都要编写对应的分析工具,降低了对数据库容量分析的效率。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种数据库容量分析方法及系统。

本发明实施例提供一种数据库容量分析方法,包括:

通过接口获取相关联的数据库对应的关键指标的数据,并将所述关键指标的数据存入后台数据库中,其中所述关键指标为至少1个且是预先设定的;

根据查询请求将后台数据库中对应的所述关键指标的数据进行分析计算,所述查询请求包括:所述关键指标、被分析数据库和时间段;

将所述关键指标对应的分析结果以图表的方式进行显示。

本发明实施例提供一种数据库容量分析系统,包括:

获取模块,用于通过接口获取相关联的数据库对应的关键指标的数据,并将所述关键指标的数据存入后台数据库中,其中所述关键指标为至少1个且是预先设定的;

分析模块,用于根据查询请求将后台数据库中对应的所述关键指标的数据进行分析计算,所述查询请求包括:所述关键指标、被分析数据库和时间段;

显示模块,用于将所述关键指标对应的分析结果以图表的方式进行显示。

本发明实施例提供的一种数据库容量分析方法及系统,通过接口获取相关联的数据中对应的关键指标的数据,根据查询请求对关键指标的数据进行分析,将分析结果以图表的方式进行显示,提高了对数据库容量分析的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据库容量分析方法流程示意图;

图2为本发明实施例提供的一种数据库容量分析系统结构示意图;

图3为本发明另一实施例提供的一种数据库容量分析系统结构示意图;

图4为本发明又一实施例提供的一种数据库容量分析系统结构示意图;

图5为本发明再一实施例提供的一种数据库容量分析系统结构示意图;

图6为本发明实施例提供的一种数据库容量分析系统结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种数据库容量分析方法流程示意图,如图1所示,所述方法,包括:

步骤101:通过接口获取相关联的数据库对应的关键指标的数据,并将所述关键指标的数据存入后台数据库中,其中所述关键指标为至少1个且是预先设定的;

具体地,通过接口获取相关联的数据库对应的关键指标的数据,可以是实时获取,也可以是预设一个获取周期,每个获取周期获取一次数据。将获取到的关键指标的数据存入后台数据库中,以便对该关键指标进行分析。其中关键指标包括:表空间容量、每秒数据库时间、平均每事务相应时间、平均每秒事务数、等待事件比例、每秒用户事务回退次数、每秒逻辑读数量、每秒物理读数量、每秒物理写数量、每秒块修改数量、每秒产生的redo大小、每秒IO吞吐量、每秒执行次数、每秒总解析次数、每秒硬解析次数、每秒登录次数、数据缓存区命中率、library池命中率等。应当说明的是还可以包括其他关键指标,该关键指标是通过预先设定的。另外,将所述数据存入后台数据库中,为用户提供了较长时间范围的查询。

步骤102:根据查询请求将后台数据库中对应的所述关键指标的数据进行分析计算,所述查询请求包括:所述关键指标、被分析数据库和时间段;

具体地,用户通过前端浏览器发送的查询请求,其中查询请求包括关键指标、被分析数据库和时间段。接收到查询请求后,根据查询请求的内容从后台数据库中查找相应时间段的、被分析数据库中的、关键指标的数据,对关键指标的数据通过计算模块进行分析计算,其中计算模块中集成了各个关键指标对应的算法。

步骤103:将所述关键指标对应的分析结果以图表的方式进行显示。

具体地,将分析的结果以图表的方式进行显示,即分析后得到对应的关键指标的容量值曲线趋势图,采用曲线图表示可以清楚直观的展示关键指标对应的容量值的变化趋势。应当说明的是,还可以是扇形图、柱形图等,本发明对此不作具体限定。

下面以Oracle数据库为例,具体介绍对上述列举的各关键指标的分析:

(1)表空间容量:获取Oracle数据库表空间的数据,包括表空间大小和使用率,其中表空间可以为一个也可以为多个,本发明对此不作具体限制;将获取到的表空间大小和使用率对应的数据存入后台数据库中;根据获取到的查询请求分析计算各个表空间的使用率趋势及表空间类型,并将分析结果生成相应的图表进行显示。

以下对各关键指标的数据进行获取及存储与表空间容量的数据除获取的内容不同外,获取方式一致,本发明实施例中的其他关键指标的数据获取将不再赘述。

(2)每秒数据库时间:在多中央处理器(Central Processing Unit,简称CPU)环境下,对数据库时间的分析最多可以是物理时间*CPU核数,数值越大,表明数据库越繁忙,不同的数据库可以设置不同的基线值,其中,基线值作为参考值,用来评价每秒数据库时间是否处于正常,对每秒数据库时间分析后生成图表进行显示。

(3)平均事务响应时间:一个事务中可能包含多个语句,语句越多,其平均事务响应时间越久,将平均事务响应时间进行计算分析,生成图表进行显示。

(4)等待事件比例:等待事件比例是指数据库任务或应用运行过程中发生的等待事件的比例,比例越高,表明存在大量等待事件,通过计算模块中等待事件比例对应的算法进行分析计算,生成相应的图表。

(5)每秒用户事务回退次数:通过计算模块中相应的算法计算每秒用户事务回退次数,并生成图表进行显示。

(6)每秒逻辑读数量:逻辑读越大,对CPU使用越多,通过计算模块中相应的算法计算每秒逻辑读数量,并生成图表进行显示。

(7)每秒物理读数量:物理读越大,对IO吞吐量使用越多,通过计算模块中相应的算法计算每秒物理读数量,并生成图表进行显示。

(8)每秒物理写数量:物理写越大,对IO吞吐量使用越大,通过计算模块中相应的算法计算每秒物理写数量,并生成图表进行显示。

(9)每秒块修改数量:每秒块修改数量越大,表明数据库的更改/插入操作越频繁,通过计算模块中相应的算法计算每秒块修改数量,并生成图表进行显示。

(10)每秒产生的重做日志(redo)大小:每秒产生的redo的数值越大,表明数据库的更新操作越多,产生的在线日志/归档日志越多,通过计算模块中相应的算法计算每秒产生的redo大小,并生成图表进行显示。

(11)每秒IO吞吐量:数据库产生的总IO吞吐量越大,表明数据库的IO需求越高,通过计算模块中相应的算法计算每秒IO吞吐量,并生成图表进行显示。

(12)每秒用户调用次数:每秒用户调用次数越大表明用户调用次数越多,系统越繁忙,通过计算模块中相应的算法计算每秒用户调用次数,并生成图表进行显示。

(13)每秒执行次数:该次数越大表明数据库执行SQL查询的次数越多,系统越繁忙,通过计算模块中相应的算法计算每秒执行次数,并生成图表进行显示。

(14)每秒总解析次数:每秒总解析次数越大,表明系统解析次数越多,通过计算模块中相应的算法计算每秒总解析次数,并生成图表进行显示。

(15)每秒硬解析次数:每秒硬解析次数越大,表明系统硬解析次数越多,对shared_pool的请求越多,通过计算模块中相应的算法计算每秒硬解析次数,并生成图表进行显示。

(16)每秒登录次数:每秒登录次数越大表明用户登录登出越频繁,通过计算模块中相应的算法计算每秒登录次数,并生成图表进行显示。

(17)数据缓存区命中率:数据缓存区命中率越大,表明数据缓存中数据重用比例越高,通过计算模块中相应的算法计算数据缓存区命中率,并生成图表进行显示。

(18)library池命中率:library池命中率越大表明SQL在解析时重用比例越高,通过计算模块中相应的算法计算library池命中率,并生成图表进行显示。

应当说明的是,每个关键指标都对应一个基线值,通过基线值来判断某一时刻的关键指标的容量值是否正常。

本发明实施例通过接口获取相关联的数据中对应的关键指标的数据,根据查询请求对关键指标的数据进行分析,将分析结果以图表的方式进行显示,提高了对数据库容量分析的效率。

在上述实施例的基础上,所述方法还包括:

根据所述分析结果预测未来时段的所述关键指标对应的容量值。

具体地,分析结果是以图表的形式显示的,显示的是相应时间段中某一关键指标的容量的变化趋势,通过该变化趋势可以预测出下一时间段的关键指标的容量值。

本发明实施例通过根据分析得到的变化趋势图预测未来某一时间段的关键指标的容量值,为评估数据库提供准确有效的数据,同时为数据库中关键指标的容量规划提供数据支撑。

在上述实施例的基础上,所述方法还包括:

对获取到的所述关键指标的数据进行解析和筛选处理。

具体地,通过接口获取到数据库中的关键指标的数据后,对数据进行解析和筛选,由于在数据传输的过程中需要按照约定好的数据格式进行传输,当接收到数据后需要对数据进行解析,解析后将数据进行筛选,保留需要的数据。

本发明实施例通过对数据的解析和筛选处理,一方面保证了数据的正常传输,另一方面筛选掉不需要的数据,节省了数据库的空间。

在上述实施例的基础上,所述相关联的数据库为至少1个。

具体地,可以同时与多个数据库建立连接,获取多个数据库中的各关键指标的数据,并进行存储,因此可以实现对多个数据库的集中管理。

在上述各实施例的基础上,所述方法还包括:

若所述查询请求中包含多个具有关联关系的所述关键指标,则将所述多个关键指标对应的所述分析结果以图表的方式进行显示。

具体地,如果查询请求中包含多个关键指标,且关键指标之间具有关联关系,例如:查询请求中包含每秒物理读数量和每秒物理写数量,即用户需要分析多个关键指标的数据,并将多个关键指标的容量趋势图显示在一个图像上显示。

本发明实施例通过接口获取相关联的数据中对应的关键指标的数据,根据查询请求对关键指标的数据进行分析,将分析结果以图表的方式进行显示,提高了对数据库容量分析的效率。

图2为本发明实施例提供的一种数据库容量分析系统结构示意图,如图2所示,所述系统包括:获取模块201、分析模块202和显示模块203,其中:

获取模块201用于通过接口获取相关联的数据库对应的关键指标的数据,并将所述关键指标的数据存入后台数据库中,其中所述关键指标为至少1个且是预先设定的;分析模块202,用于根据查询请求将后台数据库中对应的所述关键指标的数据进行分析计算,所述查询请求包括:所述关键指标、被分析数据库和时间段;显示模块203用于将所述关键指标对应的分析结果以图表的方式进行显示。

具体地,获取模块201通过接口获取相关联的数据库对应的关键指标的数据,可以是实时获取,也可以是预设一个获取周期,每个获取周期获取一次数据。将获取到的关键指标的数据存入后台数据库中,以便对该关键指标进行分析。其中关键指标包括:表空间容量、每秒数据库时间、平均每事务相应时间、平均每秒事务数、等待事件比例、每秒用户事务回退次数、每秒逻辑读数量、每秒物理读数量、每秒物理写数量、每秒块修改数量、每秒产生的redo大小、每秒IO吞吐量、每秒执行次数、每秒总解析次数、每秒硬解析次数、每秒登录次数、数据缓存区命中率、library池命中率等。应当说明的是还可以包括其他关键指标,该关键指标是通过预先选择的。用户通过前端浏览器发送的查询请求,其中查询请求包括关键指标、被分析数据库和时间段。分析模块202接收到查询请求后,根据查询请求的内容从后台数据库中查找相应时间段的、被分析数据库中的、关键指标的数据,对关键指标的数据通过计算模块进行分析计算,其中计算模块中集成了各个关键指标对应的算法。显示模块203将分析的结果以图表的方式进行显示,即分析后得到对应的关键指标的容量值曲线趋势图,采用曲线图表示可以清楚直观的展示关键指标对应的容量值的变化趋势。

本发明实施例通过接口获取相关联的数据中对应的关键指标的数据,根据查询请求对关键指标的数据进行分析,将分析结果以图表的方式进行显示,提高了对数据库容量分析的效率。

在上述实施例的基础上,图3为本发明另一实施例提供的一种数据库容量分析系统结构示意图,如图3所示,所述系统包括:获取模块301、分析模块302、显示模块303和预测模块304,其中:

预测模块304用于根据所述分析结果预测未来时段的所述关键指标对应的容量值。

具体地,获取模块301、分析模块302和显示模块303与上述实施例中的获取模块201、分析模块202和显示模块203一致,此处不再赘述。分析结果是以图表的形式显示的,显示的是相应时间段中某一关键指标的容量的变化趋势,预测模块304通过该变化趋势可以预测出下一时间段的关键指标的容量值。

本发明实施例通过根据分析得到的变化趋势图预测未来某一时间段的关键指标的容量值,为评估数据库提供准确有效的数据,同时为数据库中关键指标的容量规划提供数据支撑。

在上述实施例的基础上,图4为本发明又一实施例提供的一种数据库容量分析系统结构示意图,如图4所示,所述系统包括:获取模块401、数据处理模块402、分析模块403、显示模块404和预测模块405,其中:

数据处理模块405用于对获取到的所述关键指标的数据进行解析和筛选处理。

具体地,获取模块401、分析模块403、显示模块404和预测模块405与上述实施例中的获取模块301、分析模块302、显示模块303和预测模块304一致,本发明实施例对此不再赘述。数据处理模块405通过接口获取到数据库中的关键指标的数据后,对数据进行解析和筛选,由于在数据传输的过程中需要按照约定好的数据格式进行传输,当接收到数据后需要对数据进行解析,解析后将数据进行筛选,保留需要的数据。

本发明实施例通过对数据的解析和筛选处理,一方面保证了数据的正常传输,另一方面筛选掉不需要的数据,节省了数据库的空间。

在上述实施例的基础上,所述相关联的数据库为至少1个。

具体地,可以同时与多个数据库建立连接,获取多个数据库中的各关键指标的数据,并进行存储,因此可以实现对多个数据库的集中管理。

在上述各实施例的基础上,图5为本发明再一实施例提供的一种数据库容量分析系统结构示意图,如图5所示,所述系统包括:获取模块501、数据处理模块502、分析模块503、显示模块504、预测模块505和第二显示模块506,其中:

第二显示模块506用于若所述查询请求中包含多个具有关联关系的所述关键指标,则将所述多个关键指标对应的所述分析结果以图表的方式进行显示。

具体地,获取模块501、数据处理模块502、分析模块503、显示模块504和预测模块505与上述实施例中获取模块401、数据处理模块402、分析模块403、显示模块404和预测模块405一致,本发明实施例对此不再赘述。如果查询请求中包含多个关键指标,且关键指标之间具有关联关系,例如:查询请求中包含每秒物理读数量和每秒物理写数量,即用户需要分析多个关键指标的数据,第二显示模块506将多个关键指标的容量趋势图显示在一个图像上显示。

本发明实施例通过接口获取相关联的数据中对应的关键指标的数据,根据查询请求对关键指标的数据进行分析,将分析结果以图表的方式进行显示,提高了对数据库容量分析的效率。

图6为本发明实施例提供的一种数据库容量分析系统结构示意图,如图6所示,所述系统,包括:处理器(processor)601、存储器(memory)602、和总线603;其中,

所述处理器601、存储器602通过所述总线603完成相互间的通信;

所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:通过接口获取相关联的数据库对应的关键指标的数据,并将所述关键指标的数据存入后台数据库中,其中所述关键指标为至少1个且是预先设定的;根据查询请求将后台数据库中对应的所述关键指标的数据进行分析计算,所述查询请求包括:所述关键指标、被分析数据库和时间段;将所述关键指标对应的分析结果以图表的方式进行显示。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1