CN101140594A - 一种数据库空间自动扩展的方法及管理模块 - Google Patents
一种数据库空间自动扩展的方法及管理模块 Download PDFInfo
- Publication number
- CN101140594A CN101140594A CNA2007101758238A CN200710175823A CN101140594A CN 101140594 A CN101140594 A CN 101140594A CN A2007101758238 A CNA2007101758238 A CN A2007101758238A CN 200710175823 A CN200710175823 A CN 200710175823A CN 101140594 A CN101140594 A CN 101140594A
- Authority
- CN
- China
- Prior art keywords
- space
- database
- module
- data
- occupation rate
- 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.)
- Granted
Links
Images
Abstract
本发明涉及大型商用数据库的存储管理技术,特别涉及一种数据库数据存储空间及日志存储空间自动扩展的方法和管理模块。本发明模块化集中管理各Sybase数据库的空间,在空间不足的情况下能够通过SQL命令实现空间的自动扩展。解决了Sybase数据空间不能自动扩展的技术问题,保证业务应用数据库全天不间断的运行。
Description
技术领域
本发明涉及大型商用数据库的存储管理技术,特别涉及一种数据库空间自动扩展的方法和管理模块。
背景技术
随着社会信息化程度的逐步深入,数据库在各行各业中的应用越来越广,尤其是通讯领域,业务的数据量非常大,并且要求24小时不中断业务应用。SYBASE数据库作为目前市场上的主流数据库产品之一,也被很多电信运营商采用。但是,在应用过程中,我们发现SYBASE数据库在数据空间不足的情况下,不能自动发现,也不能够自动扩展,往往因此而造成业务的中断或其他不良的影响。
发明内容
有鉴于此,本发明的目的之一是提供一种数据库空间自动扩展的方法,使用该方法能够解决某些大型数据库的数据库空间不能自动扩展的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种数据库空间自动扩展的方法,包括如下步骤,
A、连接数据库服务器;
B、设置监控定时器;若到达定时时间则执行步骤C,若未到达则等待;
C、查询数据库空间的空间占用率;
D、判断所述数据库空间占用率是否达到或超过门限值,若达到或超过所述门限值,则选择可用数据库设备,并扩展所述数据库空间。
基于上述方案,更进一步地,步骤A中,可连接一个或多个数据库服务器,集中管理所述一个或多个数据库服务器的空间。
基于上述方案,更进一步地,步骤C中,在进行所述查询之前,还包括对所述数据库空间进行整理、收缩的步骤。
基于上述方案,更进一步地,步骤C中,所述数据库空间包含数据空间和日志空间两种空间类型,即分别对所述数据空间和日志空间的总空间及剩余空间进行查询。
基于上述方案,更进一步地,步骤D中,可根据所述数据库的业务应用类型、空间类型设定不同的门限值。
基于上述方案,更进一步地,步骤D中,所述的数据库设备可以是裸设备或带有文件系统的卷设备。
基于上述方案,更进一步地,步骤D中,若所述数据库空间占用率未达到门限值,及完成所述扩展操作后,还包括执行步骤B的步骤。
基于上述方案,更进一步地,在判断到所述数据库空间占用率达到或超过门限值时,还包括向数据库管理员发送告警消息的步骤。
基于上述方案,更进一步地,在对所述数据库进行操作的过程中,若数据库会话超时或意外中断,则启动重试机制,若重复执行所述操作超过设定次数仍不成功,则断开数据库连接,执行步骤A,若在设定次数内执行成功,则继续执行后续步骤。
本发明的另一目的是提供一种数据库空间自动扩展的管理模块,为达到上述目的,本发明的技术方案是这样实现的:
一种数据库空间自动扩展的管理模块,包含如下模块:
数据库连接池模块,用于建立及管理到数据库服务器的会话连接;
定时器控制模块,用于设置占有率检测定时器;
占有率监测模块,用于执行所述数据库空间占有率监测操作;
空间扩展模块,用于执行所述数据库空间扩展操作;
超时控制模块,用于监测所述数据库空间占有率监测操作、数据库空间扩展操作是否超时,及进行超时处理;
所述占有率监测模块及空间扩展模决通过所述数据库连接池模块发送数据库控制语句,所述超时控制模块对所述数据库控制语句的执行进行监测,当检测到所述控制语句超时后通知所述占有率监测模块或空间扩展模块;所述定时器控制模块为所述占有率监测模块设置检测定时器并在定时到来时通知所述占有率监测模块。
基于上述方案,更进一步地,还包括如下模块:
告警模块,用于在检测到所述数据库空间超过使用门限时发送告警通知。
采用本发明所述的技术方案后,数据库空间管理模块定时监测数据库空间使用情况,能够实时地计算数据库空间的占用率,通过与预先设定阀值比较,可以在数据库空间占满之前及时发现,并自动扩展,同时,通知到DBA,避免了由此造成的应用中断故障。扩展空间的增量大小经过测试分析后选择适当值,能够避免由于扩展数据库而造成的系统IO繁忙。能够自动识别SYBASE数据库设备的类型,DATA与LOG分别扩展,能够避免设备的混合使用以及由此带来的管理不便。还可以实时发送告警通知数据库管理员(DBA),以对数据库系统进行更加安全的监控和管理,保证了业务应用不受因数据库空间不足而带来的影响,保证了应用系统高度的稳定性和持续性。
附图说明
图1为本发明的数据库空间管理模块的应用模式示意图;
图2为本发明的数据库空间管理模块组成结构示意图;
图3为本发明的数据库空间管理模块实现流程图。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
本发明的核心思想是,以模块化的方式,对数据库空间实行集中化的管理,通过数据库动态链接库连接到数据库服务器,通过使用数据库查询语言从数据库字典表中获得数据库空间的使用情况,计算出数据库空间的占用率,当占用率到达预先设定的阀值时,通过相应数据库控制语句实现数据库空间的扩展。
图2示例了本发明提出的数据库空间管理模块的组成结构图,数据库空间管理模块主要包括数据库连接池模块、定时器控制模块、占有率监测模块、空间扩展模块、超时控制模块、告警模块。数据库连接池模块用于建立及管理到数据库服务器的会话连接;定时器控制模块用于设置占有率检测定时器;占有率监测模块用于执行所述数据库空间占有率监测操作;空间扩展模块用于执行所述数据库空间扩展操作;超时控制模块用于监测所述数据库空间占有率监测操作、数据库空间扩展操作是否超时,及进行超时处理;
占有率监测模块及空间扩展模块通过数据库连接池模块发送数据库控制语句,超时控制模块对数据库控制语句的执行进行监测,当检测到控制语句超时后通知占有率监测模块或空间扩展模块;所述定时器控制模块为所述占有率监测模块设置检测定时器并在定时到来时通知所述占有率监测模块;告警模块,用于在检测到数据库空间超过使用门限时发送告警通知,可以根据占有率监测模块发送的信号或超时控制模块发送的信号发送告警通知。
图1示例了本发明提出的数据库空间管理模块的应用场景图,可以在网络上的一个管理节点上安装本发明的数据库空间管理模块,同时监测多台数据库服务器的数据库空间占用率情况,实现集中管理、单独处理。可将数据库空间管理模块与数据库服务器安装在同一节点上,节省投资。可针对不同的业务应用数据库,不同的数据库空间类型设定不同的门限阀值。例如,对于查询密集型的应用来说,如地理信息库,由于短时间内更新数据非常少,所以数据库空间增长的缓慢,因此可以设置较低的门限阀值;对于更新操作频繁的应用来说,如电子商务数据库,电信话单数据库,由于数据的添加、删除、修改操作非常多,所以数据空间增长的速度也会很快,因此可以设置较大的门限阀值,给管理员充分的反应时间。相应的,可根据数据的访问特性将同一类应用的数据存储在不同的数据空间中,这样就更加有利于提高数据库系统的运行效率。
图3为本发明的数据库空间管理模块实现流程图,数据库空间管理模块运行在管理端,相应的,被管理的数据库服务器为被管理端。在开始处理流程之前,需要对数据库空间管理模块进行初始化,初始化的主要任务是设置SYBASE相关系统环境变量,配置interface文件。数据库空间管理模块通过SYBASE客户端动态链接库(DB-Lib或者CT-Llib)提供的API接口连接到需要监控的数据库服务器,连接的用户必须拥有DBA的权限。分别设定数据(DATA)空间和日志(LOG)空间的预警门限阀值,即已使用空间与总空间的百分比超过此门限值后说明数据库空间需要进行扩展了。以下对各步骤进行详细描述:
步骤1、管理端建立到数据库服务器的连接;
通过配置到数据库服务器的连接字符串建立到数据库服务器的连接。
步骤2、在管理端设置定时器;
设置一个定长周期的定时器(假设周期为N分钟),每隔N分钟,监测模块到数据库服务器查询一次应用数据库的空间使用情况。注意:这里的定时器不是循环定时器,而是,一次性定时器,如需循环,则需要重新设置。
步骤3、进行延时等待,等待定时时间到来,延时时间可配置;
步骤4、判断定时时间到否,若未到则执行步骤3继续进行延时等待,否则执行步骤5;
步骤5、管理端通过数据库查询语句查询数据库服务器的总空间和剩余空间大小;
为能够更准确的反映数据库空间的当前状态,可以在进行查询之前,通过控制语句,对所述数据库空间进行一下整理和收缩。
步骤6、管理端执行步骤5中的查询之后,立即进行超时判断,若查询语句超时则执行步骤7,若否,则执行步骤8;
在每次执行数据库查询或数据库控制语句后,系统都会启动超时控制机制,当查询语句或控制语句在设定时间内返回正确结果说明语句得到了正确执行,当所执行的语句很长时间没有返回结果或返回错误、超时等标志时,说明出现了问题,产生了例如:意外断开、网络传输超时、数据库服务器繁忙等情况,查询语句或控制语句无法得到正确的执行,此时就需要进行超时处理,需要重做没有完成的操作。如果连续N次操作都没有成功,则断开并重连数据库连接,重新进入下一个监测周期,N可根据情况设定。
步骤7、判断超时次数是否超过设定次数,若超过,则执行步骤17,若未超过,则执行步骤5;
步骤8、管理端计算数据服务器的空间占用率;
数据库服务器空间包括DATA空间和LOG空间两种空间类型,分别对两种类型的空间进行查询,分别计算占有率。DATA和LOG的各自剩余空间以及各自总空间可以通过SYBASE的master数据库4个系统表联合获得,系统表包括master.dbo.sysusages,master.dbo.spt_values,master.dbo.sysdatabases,master.dbo.sysdevices。通过剩余空间和总空间可以计算出该数据库的DATA/LOG空间占用率,计算方式为(1-剩余空间/总空间)*100%。
步骤9、判断空间占用率是否达到或超过门限阀值;若是,则执行步骤10,若否,则执行步骤2;
对DATA空间和LOG空间分别进行判定,如果DATA/LOG空间占用率没有达到预先设定的DATA/LOG预警门限阀值,则重新设置定时器,进入下一个监测周期;如果DATA/LOG空间占有率达到或者超过预先设定的DATA/LOG预警门限阀值,则按照以下步骤进行扩展。
步骤10、管理端通过执行查询语句选择数据服务器上可用的数据库设备;
数据库服务器是建立在数据库设备(device)之上的,所以,要保证有足够的device空间可用,可以是有文件系统的卷或大文件,也可以是裸设备。寻找可用空间最大的数据库设备,从master.dbo.sysdevices和master.dbo.sysusages可以得到可用的设备名称。应当注意,数据空间建立在DATA设备上,日志空间建立在LOG设备上,避免混合使用。
步骤11、管理端判断步骤10的查询语句是否超时,若是,则执行步骤12,若否,则执行步骤13;
步骤12、判断超时次数是否超过设定次数,若超过,则执行步骤17,若未超过,则执行步骤10;
步骤13、管理端扩展数据库服务器上的数据库空间;
在执行数据库空间扩展时应选择合适的扩展空间的增量大小(extend)。因为数据库空间扩展,会占用操作系统的IO资源,如果一次扩展空间太大,系统IO会很忙,从而,可能会影响到应用的性能;如果一次扩展空间过小,又可能造成数据库空间碎片较多,不便于管理。建议选择在20M以上,100M以内。
扩展DATA/LOG空间。通过SYBASE的alter database命令完成。
步骤14、判断步骤13的控制语句是否超时,若是,则执行步骤15,若否,则执行步骤16;
步骤15、判断超时次数是否超过设定次数,若超过,则执行步骤17,若未超过,则执行步骤13;
步骤16、向数据库管理员(DBA)进行告警通知,然后执行步骤2;
步骤17、断开数据库的连接,执行步骤1。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (11)
1.一种数据库空间自动扩展的方法,其特征在于,包括如下步骤,
A、连接数据库服务器;
B、设置监控定时器;若到达定时时间则执行步骤C,若未到达则等待;
C、查询数据库空间的空间占用率;
D、判断所述数据库空间占用率是否达到或超过门限值,若达到或超过所述门限值,则选择可用数据库设备,并扩展所述数据库空间。
2.根据权利要求1所述的方法,其特征在于,步骤A中,可连接一个或多个数据库服务器,集中管理所述一个或多个数据库服务器的空间。
3.根据权利要求1所述的方法,其特征在于,步骤C中,在进行所述查询之前,还包括对所述数据库空间进行整理、收缩的步骤。
4.根据权利要求1所述的方法,其特征在于,步骤C中,所述数据库空间包含数据空间和日志空间两种空间类型,即分别对所述数据空间和日志空间的总空间及剩余空间进行查询。
5.根据权利要求1所述的方法,其特征在于,步骤D中,可根据所述数据库的业务应用类型、空间类型设定不同的门限值。
6.根据权利要求1所述的方法,其特征在于,步骤D中,所述的数据库设备可以是裸设备或带有文件系统的卷设备。
7.根据权利要求1所述的方法,其特征在于,步骤D中,若所述数据库空间占用率未达到门限值及在执行完所述扩展操作任一情况出现时,还包括重新执行步骤B的步骤。
8.根据权利要求1至7中任意一项权利要求所述的方法,其特征在于,在判断到所述数据库空间占用率达到或超过门限值时,还包括向数据库管理员发送告警消息的步骤。
9.根据权利要求1至7中任意一项权利要求所述的方法,其特征在于,在对所述数据库进行操作的过程中,若数据库会话超时或意外中断,则启动重试机制,若重复执行所述操作超过设定次数仍不成功,则断开数据库连接,执行步骤A,若在设定次数内执行成功,则继续执行后续步骤。
10.一种数据库空间自动扩展的管理模块,其特征在于,包含如下模块:
数据库连接池模块,用于建立及管理到数据库服务器的会话连接;
定时器控制模块,用于设置占有率检测定时器;
占有率监测模块,用于执行所述数据库空间占有率监测操作;
空间扩展模块,用于执行所述数据库空间扩展操作;
超时控制模块,用于监测所述数据库空间占有率监测操作、数据库空间扩展操作是否超时,及进行超时处理;
所述占有率监测模块及空间扩展模块通过所述数据库连接池模块发送数据库控制语句,所述超时控制模块对所述数据库控制语句的执行进行监测,当检测到所述控制语句超时后通知所述占有率监测模块或空间扩展模块;所述定时器控制模块为所述占有率监测模块设置检测定时器并在定时到来时通知所述占有率监测模块。
11.根据权利要求10所述的管理模块,其特征在于,还包括如下模块:
告警模块,用于在检测到所述数据库空间超过使用门限时发送告警通知。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710175823A CN100578507C (zh) | 2007-10-12 | 2007-10-12 | 一种数据库空间自动扩展的方法及管理模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710175823A CN100578507C (zh) | 2007-10-12 | 2007-10-12 | 一种数据库空间自动扩展的方法及管理模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101140594A true CN101140594A (zh) | 2008-03-12 |
CN100578507C CN100578507C (zh) | 2010-01-06 |
Family
ID=39192546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710175823A Active CN100578507C (zh) | 2007-10-12 | 2007-10-12 | 一种数据库空间自动扩展的方法及管理模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100578507C (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840314A (zh) * | 2010-05-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 扩展数据库存储空间的方法及装置、服务器 |
CN101593178B (zh) * | 2008-05-30 | 2011-07-13 | 中兴通讯股份有限公司 | 多维度自动触发扩展数据库的方法 |
CN101557291B (zh) * | 2009-05-25 | 2011-09-28 | 杭州华三通信技术有限公司 | 日志聚合的方法和装置 |
CN102262626A (zh) * | 2010-05-24 | 2011-11-30 | 阿里巴巴集团控股有限公司 | 一种数据库存储数据的方法及装置 |
CN101551771B (zh) * | 2009-05-08 | 2012-09-26 | 中兴通讯股份有限公司 | 一种监视远程数据库运行状态的方法及系统 |
CN103166773A (zh) * | 2011-12-09 | 2013-06-19 | 国家电网公司 | 监测服务器运行状态的方法与系统 |
CN103488575A (zh) * | 2013-08-12 | 2014-01-01 | 记忆科技(深圳)有限公司 | 动态调整固态硬盘预留空间的方法及其固态硬盘 |
CN103870359A (zh) * | 2014-02-21 | 2014-06-18 | 上海华力微电子有限公司 | 一种高效存储测试log的方法 |
CN103970907A (zh) * | 2014-05-28 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种动态扩展数据库集群的方法 |
CN104881477A (zh) * | 2015-06-03 | 2015-09-02 | 上海新炬网络信息技术有限公司 | 一种应用数据空间使用估算方法 |
CN106376034A (zh) * | 2016-10-19 | 2017-02-01 | 深圳市晟碟半导体有限公司 | 快速获取无线Mesh网络内设备的状态的方法和系统 |
CN109800261A (zh) * | 2018-12-15 | 2019-05-24 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN113220694A (zh) * | 2021-06-02 | 2021-08-06 | 中国农业银行股份有限公司 | 数据表的处理方法、装置、服务器及存储介质 |
-
2007
- 2007-10-12 CN CN200710175823A patent/CN100578507C/zh active Active
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593178B (zh) * | 2008-05-30 | 2011-07-13 | 中兴通讯股份有限公司 | 多维度自动触发扩展数据库的方法 |
CN101551771B (zh) * | 2009-05-08 | 2012-09-26 | 中兴通讯股份有限公司 | 一种监视远程数据库运行状态的方法及系统 |
CN101557291B (zh) * | 2009-05-25 | 2011-09-28 | 杭州华三通信技术有限公司 | 日志聚合的方法和装置 |
CN101840314A (zh) * | 2010-05-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 扩展数据库存储空间的方法及装置、服务器 |
CN102262626A (zh) * | 2010-05-24 | 2011-11-30 | 阿里巴巴集团控股有限公司 | 一种数据库存储数据的方法及装置 |
CN102262626B (zh) * | 2010-05-24 | 2013-08-07 | 阿里巴巴集团控股有限公司 | 一种数据库存储数据的方法及装置 |
CN103166773A (zh) * | 2011-12-09 | 2013-06-19 | 国家电网公司 | 监测服务器运行状态的方法与系统 |
CN103488575B (zh) * | 2013-08-12 | 2017-02-01 | 记忆科技(深圳)有限公司 | 动态调整固态硬盘预留空间的方法及其固态硬盘 |
CN103488575A (zh) * | 2013-08-12 | 2014-01-01 | 记忆科技(深圳)有限公司 | 动态调整固态硬盘预留空间的方法及其固态硬盘 |
CN103870359A (zh) * | 2014-02-21 | 2014-06-18 | 上海华力微电子有限公司 | 一种高效存储测试log的方法 |
CN103970907A (zh) * | 2014-05-28 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种动态扩展数据库集群的方法 |
CN104881477A (zh) * | 2015-06-03 | 2015-09-02 | 上海新炬网络信息技术有限公司 | 一种应用数据空间使用估算方法 |
CN104881477B (zh) * | 2015-06-03 | 2018-09-21 | 上海新炬网络信息技术股份有限公司 | 一种应用数据空间使用估算方法 |
CN106376034A (zh) * | 2016-10-19 | 2017-02-01 | 深圳市晟碟半导体有限公司 | 快速获取无线Mesh网络内设备的状态的方法和系统 |
CN109800261A (zh) * | 2018-12-15 | 2019-05-24 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN109800261B (zh) * | 2018-12-15 | 2024-04-05 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN113220694A (zh) * | 2021-06-02 | 2021-08-06 | 中国农业银行股份有限公司 | 数据表的处理方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100578507C (zh) | 2010-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100578507C (zh) | 一种数据库空间自动扩展的方法及管理模块 | |
CN101707632A (zh) | 一种动态监控服务器集群性能并实时报警的方法 | |
CN101437259B (zh) | 集成多模基站各制式间关联关系的建立方法、装置和系统 | |
CN102354296B (zh) | 一种可扩展监控资源的监控系统和方法 | |
CN102412998A (zh) | 运营服务系统及其维护方法和装置 | |
CN103888729A (zh) | 一种视频监控平台间摄像机信息同步方法及装置 | |
CN110445697A (zh) | 视频大数据云平台设备接入服务方法 | |
CN107870982B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN102651883A (zh) | 检测终端连接丢失的方法及装置 | |
CN104853357A (zh) | 一种自动识别和触发诈骗号码的方法及系统 | |
CN103139671A (zh) | 以太网无源光网络设备的数据同步方法及光线路终端 | |
CN108833451B (zh) | 基于国产安全管控平台的多级管控系统及管控方法 | |
CN111147560A (zh) | 基于http协议高速度、高稳定以及断点续传的数据同步方法 | |
CN100484014C (zh) | 智能网中的分布式集群业务管理系统及业务管理方法 | |
CN103198041A (zh) | 一种实现建立iec61970 gid接口的方法 | |
CN112737124A (zh) | 一种电力设备监测终端构建方法和装置 | |
CN114338794B (zh) | 一种服务消息的推送方法、装置、电子设备及存储介质 | |
CN110677303A (zh) | 网络管理系统 | |
CN112995266A (zh) | 一种信息推送方法及相关设备 | |
CN113434604B (zh) | 一种时序数据库同步方法、系统、设备及存储介质 | |
CN113766363B (zh) | 故障监控方法、装置及计算设备 | |
CN101345648B (zh) | 数据不一致的解决方法 | |
JP2010527475A (ja) | 情報家電のデータ蓄積システム及びデータ処理方法 | |
CN103138958A (zh) | 一种网管标准接口的实现方法 | |
CN111030297A (zh) | 机房市电停电监测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |