CN102982037A - 检测数据库节点健康状况的方法及装置 - Google Patents
检测数据库节点健康状况的方法及装置 Download PDFInfo
- Publication number
- CN102982037A CN102982037A CN2011102608465A CN201110260846A CN102982037A CN 102982037 A CN102982037 A CN 102982037A CN 2011102608465 A CN2011102608465 A CN 2011102608465A CN 201110260846 A CN201110260846 A CN 201110260846A CN 102982037 A CN102982037 A CN 102982037A
- Authority
- CN
- China
- Prior art keywords
- database node
- sampling period
- wait
- session
- node
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 53
- 230000036541 health Effects 0.000 title claims abstract description 33
- 238000005070 sampling Methods 0.000 claims abstract description 115
- 238000000034 method Methods 0.000 claims description 27
- 230000009471 action Effects 0.000 claims description 25
- 230000003862 health status Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract description 3
- 238000011897 real-time detection Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000009931 harmful effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了检测数据库节点健康状况的方法及装置。方法包括:对于任一oracle RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比;判断所述异常等待会话占比是否大于预设第一阈值,若是,判断该采样周期内该数据库节点是否存在最严重等待会话,若存在,判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。本发明实现了对oracle RAC数据库节点健康状况的自动实时检测。
Description
技术领域
本发明涉及数据库技术领域,具体涉及检测数据库节点健康状况的方法及装置。
背景技术
Oracle真正应用集群(RAC,Real Application Cluster)概念的引入是为了提高系统的高可用性,通过集群软件加共享存储的方式实现容灾。由于各实例(instance)公用物理存储,但各自又有独立的内存结构,因此需要实时地同步分配一些资源。在某些异常情况下会引起节点性能恶劣,严重情况下导致数据库挂起(HANG)。在其中某个节点出现性能耗尽丢失响应的情况下,会导致节点间资源同步挂起,影响整个数据库的正常运行,进而导致业务系统无法提供服务。此时就需要做出迅速准确的判断,对问题节点实行紧急关闭终止(shutdown abort)操作,应用程序方面通过配置透明应用程序故障转移(TAF,Transparent Application Failover)可以实现业务无缝切换,在数据库单点故障时实现业务零中断。但目前没有相应成熟的技术解决方案,通常依赖于人工检查判断后再作进一步操作。
目前常见检测RAC数据库节点运行状况的方法有以下几种:
一、利用crs_stat、crsctl check crs、ps-ef、ping、sar等常规系统命令,手工逐一排查各个问题疑似点。如果某方面存在异常,则进行进一步的日志抓取分析。由于常规系统命令产生结果较为专业,可读性不强,且各种系统日志分布较为分散,导致实际操作效率较低。
二、利用v$session_wait、v$sysstat、v$cache_transfer等系统视图,结合AWR snapshots、ADDM report来检查各种性能指标,并根据维护管理人员的个人经验进行人为判断。这种方法难以有一个相对合理的标准来作为依据以供判断,对问题的定位存在很大的不确定性。
三、利用oracle提供的专业诊断工具,如oradebug、hanganalyze等对数据库内存段进行转储(dump),根据产生的trace文件来进行底层分析。这种方法最为低效,需要oracle专业开发人员才能分析。
综合以上各种常规技术手段,在单节点数据库性能产生异常状况时,数据库维护管理人员只能通过简单的监控点告警捕捉、登陆系统检查、问题定位分析等流程来进行。传统意义上的解决方法时效性差,从发现问题到定位解决问题往往需要耗时30分钟以上,给客户带来很差的体验感知。且问题的判断分析与管理维护人员的个人主观能力有很大关系,无法做到标准化、专业化。显然无法满足电信级在线事务处理(OLTP,On-Line TransactionProcessing)系统的大型业务请求。
随着信息化系统发展的加快以及集群系统的大范围使用,数据库系统规模及复杂程度呈现日益增长的趋势,特别是对于电信、金融等重要行业的数据中心,其核心业务系统的交互响应实时性很高。一旦数据库系统某个节点出现异常状况,再根据传统的方法进行逐项检查,准确性和及时性都很难得到保证。
现有的几种技术,由于其出发点均是应急处理,故其实现机理都存在一定的被动性及盲目性。数据库性能恶劣时,数据库管理员(DBA,DatabaseAdministrator)通常不是第一时间获知的,往往都是应用维护人员或是开发人员发现业务感知或是业务处理受到影响报告给DBA。此时数据库一般已经处于停止响应或者响应极度缓慢或是HANG状态,造成大面积的业务受到影响,而不能有效地快速发现性能问题,进而采取进一步的处理措施。
因此,原有的几项技术要点只是单纯地、片面地进行一些信息搜集和简单的性能判断,对于复杂的、需要快速响应的OLTP大规模数据库系统,显然已经无法满足。除了一些特定明显的系统错误信息之外,对于其他数据库节点运行健康状况的评估,很大程度上取决于维护人员的经验判断,无法做到标准化实施。
发明内容
本发明提供检测数据库节点健康状况的方法及装置,以实现对oracle RAC数据库节点健康状况的自动、实时检测。
本发明的技术方案是这样实现的:
一种检测数据库节点健康状况的方法,该方法包括:
对于任一oracle真正应用集群RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比;
判断所述异常等待会话占比是否大于预设第一阈值,若是,判断该采样周期内该数据库节点是否存在最严重等待会话,若存在,判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。
所述计算该采样周期内该数据库节点的异常等待会话占比包括:
统计该采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt;
计算该采样周期内该数据库节点的异常等待会话占比p(Wt):
当所述数据库节点属于高并发在线事务处理OLTP系统时,所述第一阈值的取值为90%;
当所述数据库节点属于数据分析决策支持系统DSS时,所述第一阈值的取值为85%。
所述当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
计算该采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms):A(Ms)=Msn/第一时长,其中,Msn为该采样周期内该数据库节点当前实例的最严重等待会话数;
判断A(Ms)>b是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
所述在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态进一步包括:抓取最近第一时长内该数据库节点的全局队列等待数GEwn;
计算该采样周期内该数据库节点当前实例的全局队列等待占比p(GEw):p(GEw)=GEwn/GEn,其中,GEn为该采样周期内该数据库节点当前实例的全局队列总数;
且,当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
判断p(GEw)>c是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
所述在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态进一步包括:抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn;
计算该采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw):p(GCw)=GCwn/A(GC),
其中,A(GC)为该数据库节点当前实例的全局缓存交互平均值,A(GC)=第二时长内该数据库节点当前实例的全局缓存交互量/第二时长;
且,当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
判断p(GCw)>d是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
所述当判定该采样周期内该数据库节点存在最严重等待会话后,进一步包括:
计算当前块延迟BRL,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
当所述数据库为OLTP系统时,所述e的取值为5ms。
当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,进一步包括:
判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
一种检测数据库节点健康状况的装置,该装置包括:
活跃会话状态检测模块:在每个采样周期内,抓取最近第一时长内本oracle RAC数据库节点的活跃会话状态,将该活跃会话状态发送给异常会话分析模块;
异常会话分析模块:接收所述活跃会话状态,根据该活跃会话状态计算当前采样周期内该数据库节点的异常等待会话占比,将该异常等待会话占比和当前采样周期内是否存在最严重等待会话信息发送给健康检测模块;
健康检测模块:接收所述异常等待会话占比和是否存在最严重等待会话信息,判断该异常等待会话占比是否大于预设第一阈值,若是,判断所述是否存在最严重会话信息是否指示当前采样周期内该数据库节点存在最严重等待会话,若存在,判定当前采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。
所述异常会话分析模块进一步用于,计算当前采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms),将A(Ms)发送给健康检测模块;
所述健康检测模块进一步用于,在判定异常等待会话占比大于预设第一阈值后,判断所述A(Ms)>b是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
所述装置进一步包括:全局队列监控模块,用于在每个采样周期内,抓取最近第一时长内本oracle RAC数据库节点的的全局队列等待数GEwn,计算当前采样周期内该数据库节点当前实例的全局队列等待占比p(GEw),将p(GEw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GEw)>c是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
所述装置进一步包括:全局缓存监控模块,用于在每个采样周期内,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn,计算当前采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw),将p(GCw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GCw)>d是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
所述装置进一步包括:BRL检测模块,用于计算BRL,将BRL发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定当前采样周期内该数据库节点存在最严重等待会话后,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
所述健康检测模块进一步用于,当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
与现有技术相比,本发明实现了自动实时地检测oracle RAC数据库节点健康状况,使得检测结果更加快速、有效、可靠和标准化;与单一的、瞬时的检测技术相比,引入了范围趋势分析手段,在一定程度上避免了瞬时偶发的异常检测灵敏度差的缺陷。
附图说明
图1为本发明实施例一提供的检测oracle RAC数据库节点健康状况的方法流程图;
图2为本发明实施例二提供的检测oracle RAC数据库节点健康状况的方法流程图;
图3为本发明实施例提供的检测oracle RAC数据库节点健康状况的装置的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例一提供的检测oracle RAC数据库节点健康状况的方法流程图,如图1所示,其具体步骤如下:
步骤101:对于任一oracle RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比。
步骤102:判断该异常等待会话占比是否大于预设第一阈值,若是,执行步骤103;否则,执行步骤106。
步骤103:判断该采样周期内该数据库节点是否存在最严重等待会话,若是,执行步骤104;否则,执行步骤106。
步骤104:判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,执行步骤105;否则,执行步骤106。
步骤105:对该数据库节点执行关闭终止操作,本流程结束。
步骤106:继续进行下一次采样。
图2为本发明实施例提供的检测oracle RAC数据库节点健康状况的方法流程图,如图2所示,其具体步骤如下:
步骤200:预设采样周期T1和第一时长T2。
步骤201:对于任一oracle RAC数据库节点,当一个采样周期到来时,在当前采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,抓取最近第一时长内该数据库节点的全局队列等待数GEwn,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn。
步骤202:分别统计并记录当前采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt。
会话等待例如:等待中央处理单元(CPU,Central Processing Unit)、等待输入/输出(I/O,Input/Output)、等待锁、空闲等待等。其中,空闲等待不会对系统性能造成不良影响,而等待CPU、等待I/O、等待锁则会对系统性能造成不良影响,属于异常等待。根据对系统性能造成不良影响的程序,可预先将异常等待分为一般应用程序性等待、严重等待、最严重等待等,例如:等待CPU、等待I/O属于一般应用程序性等待,等待锁则属于严重等待。
步骤203:计算当前采样周期内该数据库节点的异常等待会话占比p(Wt)。
步骤204:计算当前采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms)。
将异常等待会话中对系统性能造成最严重不良影响的会话称为最严重等待会话。A(Ms)=Msn/T2,其中,Msn为当前采样周期内该数据库节点当前实例的最严重等待的会话数。
步骤205:计算当前采样周期内该数据库节点当前实例的全局队列等待占比p(GEw)。
p(GEw)=GEwn/GEn,其中,GEn为当前采样周期内该数据库节点当前实例的全局队列总数。
步骤206:计算当前采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw)。
p(GCw)=GCwn/A(GC)。
其中,A(GC)为该数据库节点当前实例的全局缓存交互平均值,A(GC)=第二时长内该数据库节点当前实例的全局缓存交互量/第二时长。第二时长为选定的一段时间,以该段时间内该数据库节点当前实例的全局缓存交互平均值作为基准值。
步骤207:判断p(Wt)>a是否成立,若是,执行步骤208;否则,继续进行下一次采样,返回步骤201。
其中,若当前oracle RAC数据库为高并发OLTP系统,则a的取值通常为90%;若当前oracle RAC数据库为数据分析决策支持系统(DSS,DecisionSupport System),则a的取值通常为85%。
步骤208:判断A(Ms)>b是否成立,若是,执行步骤209;否则,继续进行下一次采样,返回步骤201。
b的取值可根据经验或预先统计确定。
步骤209:判断p(GEw)>c、p(GCw)>d是否同时成立,若是,执行步骤210;否则,继续进行下一次采样,返回步骤201。
c、d的取值可根据经验或预先统计确定
步骤210:判断当前采样周期内该数据库节点是否存在最严重等待会话,若是,执行步骤211;否则,继续进行下一次采样,返回步骤201。
步骤211:计算当前块延迟(BRL,Block Request Latency),判断BRL>e是否成立,若是,执行步骤212;否则,继续进行下一次采样,返回步骤201。
BRL=(全局缓存当前块接收时长/全局缓存当前块接收数)-(全局缓存当前块等待时长+全局缓存当前块刷新时长+全局缓存当前块发送时长)/全局缓存当前块完整接收到数)
e可根据经验确定。
对于正常OLTP系统,BRL一般都在5ms以下。因此,对于OLTP系统,e可取5ms。
步骤212:判定当前采样周期内该数据库节点为不健康节点。
步骤213:判断该数据库节点是否已连续m个采样周期被判定为不健康节点,若是,执行步骤214;否则,继续进行下一次采样,返回步骤201。
m为预设正整数。
步骤214:判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行步骤215;否则,继续进行下一次采样,返回步骤201。
步骤215:确定该数据库节点性能恶劣,对该数据库节点执行shut downabort操作。
图3为本发明实施例提供的检测数据库节点健康状况的装置的组成示意图,如图3所示,其主要包括:活跃会话状态检测模块31、异常会话分析模块32、全局队列监控模块33、全局缓存监控模块34、BRL检测模块35和健康检测模块36,其中:
活跃会话状态检测模块31:在每个采样周期内,抓取最近第一时长内本oracle RAC数据库节点的活跃会话状态,将该活跃会话状态发送给异常会话分析模块32。
异常会话分析模块32:接收活跃会话状态检测模块31发来的当前采样周期内的活跃会话状态,根据该活跃会话状态计算当前采样周期内该数据库节点的异常等待会话占比p(Wt),计算当前采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms),将p(Wt)、当前采样周期内是否存在最严重等待会话信息和A(Ms)发送给健康检测模块36。
全局队列监控模块33:在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的的全局队列等待数GEwn,计算当前采样周期内该数据库节点当前实例的全局队列等待占比p(GEw),将p(GEw)发送给健康检测模块36。
全局缓存监控模块34:在每个采样周期内,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn,计算当前采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw),将p(GCw)发送给健康检测模块36。
BRL检测模块35:用于计算BRL,将BRL发送给健康检测模块36。
健康检测模块36:接收异常分析模块32发来的当前采样周期内的p(Wt)、是否存在最严重等待会话信息和A(Ms),接收全局队列监控模块33发来的当前采样周期内的p(GEw),接收全局缓存监控模块34发来的当前采样周期内的p(GCw),接收BRL检测模块35发来的BRL,判断p(Wt)>a是否成立,若是,判断A(Ms)>b是否成立,若是,判断p(GEw)>c和p(GCw)>d是否同时成立,若是,判断当前采样周期内该数据库节点是否存在最严重等待会话,若是,判断BRL>e是否成立,若是,判定当前采样周期内该数据库节点为不健康节点,判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,判断该数据库节点的异常等待会话是否已经自我恢复,若否,对该数据库节点执行关闭终止操作的动作;否则,继续进行下一次采样。
本发明实施例中,可以将各个采样周期内抓取到的数据例如:活跃会话状态、全局队列等待数、全局队列数、全局缓存交互等待量、全局缓存交互量等存储为XML文件,以避免数据库出现问题时,这些数据会丢失。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种检测数据库节点健康状况的方法,其特征在于,该方法包括:
对于任一oracle真正应用集群RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比;
判断所述异常等待会话占比是否大于预设第一阈值,若是,判断该采样周期内该数据库节点是否存在最严重等待会话,若存在,判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。
2.根据权利要求1所述的方法,其特征在于,所述计算该采样周期内该数据库节点的异常等待会话占比包括:
统计该采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt;
计算该采样周期内该数据库节点的异常等待会话占比p(Wt):
3.根据权利要求1所述的方法,其特征在于,当所述数据库节点属于高并发在线事务处理OLTP系统时,所述第一阈值的取值为90%;
当所述数据库节点属于数据分析决策支持系统DSS时,所述第一阈值的取值为85%。
4.根据权利要求1所述的方法,其特征在于,所述当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
计算该采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms):A(Ms)=Msn/第一时长,其中,Msn为该采样周期内该数据库节点当前实例的最严重等待会话数;
判断A(Ms)>b是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
5.根据权利要求1所述的方法,其特征在于,所述在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态进一步包括:抓取最近第一时长内该数据库节点的全局队列等待数GEwn;
计算该采样周期内该数据库节点当前实例的全局队列等待占比p(GEw):p(GEw)=GEwn/GEn,其中,GEn为该采样周期内该数据库节点当前实例的全局队列总数;
且,当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
判断p(GEw)>c是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
6.根据权利要求1所述的方法,其特征在于,所述在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态进一步包括:抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn;
计算该采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw):p(GCw)=GCwn/A(GC),
其中,A(GC)为该数据库节点当前实例的全局缓存交互平均值,A(GC)=第二时长内该数据库节点当前实例的全局缓存交互量/第二时长;
且,当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
判断p(GCw)>d是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
7.根据权利要求1所述的方法,其特征在于,所述当判定该采样周期内该数据库节点存在最严重等待会话后,进一步包括:
计算当前块延迟BRL,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
8.根据权利要求7所述的方法,其特征在于,当所述数据库为OLTP系统时,所述e的取值为5ms。
9.根据权利要求1所述的方法,其特征在于,当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,进一步包括:
判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
10.一种检测数据库节点健康状况的装置,其特征在于,该装置包括:
活跃会话状态检测模块:在每个采样周期内,抓取最近第一时长内本oracle RAC数据库节点的活跃会话状态,将该活跃会话状态发送给异常会话分析模块;
异常会话分析模块:接收所述活跃会话状态,根据该活跃会话状态计算当前采样周期内该数据库节点的异常等待会话占比,将该异常等待会话占比和当前采样周期内是否存在最严重等待会话信息发送给健康检测模块;
健康检测模块:接收所述异常等待会话占比和是否存在最严重等待会话信息,判断该异常等待会话占比是否大于预设第一阈值,若是,判断所述是否存在最严重会话信息是否指示当前采样周期内该数据库节点存在最严重等待会话,若存在,判定当前采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。
11.根据权利要求10所述的装置,其特征在于,所述异常会话分析模块进一步用于,计算当前采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms),将A(Ms)发送给健康检测模块;
所述健康检测模块进一步用于,在判定异常等待会话占比大于预设第一阈值后,判断所述A(Ms)>b是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
12.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:全局队列监控模块,用于在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的的全局队列等待数GEwn,计算当前采样周期内该数据库节点当前实例的全局队列等待占比p(GEw),将p(GEw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GEw)>c是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
13.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:全局缓存监控模块,用于在每个采样周期内,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn,计算当前采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw),将p(GCw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GCw)>d是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
14.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:BRL检测模块,用于计算BRL,将BRL发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定当前采样周期内该数据库节点存在最严重等待会话后,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
15.根据权利要求10所述的装置,其特征在于,所述健康检测模块进一步用于,当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110260846.5A CN102982037B (zh) | 2011-09-05 | 2011-09-05 | 检测数据库节点健康状况的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110260846.5A CN102982037B (zh) | 2011-09-05 | 2011-09-05 | 检测数据库节点健康状况的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102982037A true CN102982037A (zh) | 2013-03-20 |
CN102982037B CN102982037B (zh) | 2016-05-25 |
Family
ID=47856074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110260846.5A Active CN102982037B (zh) | 2011-09-05 | 2011-09-05 | 检测数据库节点健康状况的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102982037B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573838A (zh) * | 2014-10-14 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 缓存健康度检测方法及装置 |
CN108261176A (zh) * | 2017-12-28 | 2018-07-10 | 深圳京柏医疗科技股份有限公司 | 胎心监护数据处理方法、装置、系统、存储介质和计算机设备 |
CN110164539A (zh) * | 2018-02-12 | 2019-08-23 | 北京绪水互联科技有限公司 | 医疗设备的工作调度的分析方法 |
CN110286732A (zh) * | 2019-06-27 | 2019-09-27 | 无锡华云数据技术服务有限公司 | 高可用集群掉电自动恢复方法、装置、设备及存储介质 |
CN110888776A (zh) * | 2019-11-13 | 2020-03-17 | 网联清算有限公司 | 数据库健康状态检测方法、装置及设备 |
CN111078446A (zh) * | 2019-11-22 | 2020-04-28 | 北京达佳互联信息技术有限公司 | 一种故障信息获取方法、装置、电子设备及存储介质 |
CN111522793A (zh) * | 2020-03-26 | 2020-08-11 | 华泰证券股份有限公司 | 一种Oracle数据库执行计划异常的检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158916A (zh) * | 2007-11-19 | 2008-04-09 | 中国移动通信集团浙江有限公司 | 一种数据库性能监控方法 |
CN101690304A (zh) * | 2007-07-11 | 2010-03-31 | 艾利森电话股份有限公司 | 用于确定服务性能的方法和设备 |
CN102081623A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团浙江有限公司 | 一种数据库异常检测方法和系统 |
-
2011
- 2011-09-05 CN CN201110260846.5A patent/CN102982037B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690304A (zh) * | 2007-07-11 | 2010-03-31 | 艾利森电话股份有限公司 | 用于确定服务性能的方法和设备 |
CN101158916A (zh) * | 2007-11-19 | 2008-04-09 | 中国移动通信集团浙江有限公司 | 一种数据库性能监控方法 |
CN102081623A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团浙江有限公司 | 一种数据库异常检测方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573838A (zh) * | 2014-10-14 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 缓存健康度检测方法及装置 |
CN108261176A (zh) * | 2017-12-28 | 2018-07-10 | 深圳京柏医疗科技股份有限公司 | 胎心监护数据处理方法、装置、系统、存储介质和计算机设备 |
CN108261176B (zh) * | 2017-12-28 | 2021-06-04 | 深圳京柏医疗科技股份有限公司 | 胎心监护数据处理方法、装置、系统、存储介质和计算机设备 |
CN110164539A (zh) * | 2018-02-12 | 2019-08-23 | 北京绪水互联科技有限公司 | 医疗设备的工作调度的分析方法 |
CN110164539B (zh) * | 2018-02-12 | 2022-04-19 | 北京绪水互联科技有限公司 | 医疗设备的工作调度的分析方法 |
CN110286732A (zh) * | 2019-06-27 | 2019-09-27 | 无锡华云数据技术服务有限公司 | 高可用集群掉电自动恢复方法、装置、设备及存储介质 |
CN110888776A (zh) * | 2019-11-13 | 2020-03-17 | 网联清算有限公司 | 数据库健康状态检测方法、装置及设备 |
CN111078446A (zh) * | 2019-11-22 | 2020-04-28 | 北京达佳互联信息技术有限公司 | 一种故障信息获取方法、装置、电子设备及存储介质 |
CN111078446B (zh) * | 2019-11-22 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 一种故障信息获取方法、装置、电子设备及存储介质 |
CN111522793A (zh) * | 2020-03-26 | 2020-08-11 | 华泰证券股份有限公司 | 一种Oracle数据库执行计划异常的检测方法 |
CN111522793B (zh) * | 2020-03-26 | 2024-06-18 | 华泰证券股份有限公司 | 一种Oracle数据库执行计划异常的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102982037B (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102982037A (zh) | 检测数据库节点健康状况的方法及装置 | |
CN101876938B (zh) | 一种基于消息队列的应用软件响应时间测量方法及系统 | |
CN114500250B (zh) | 一种云模式下体系联动的综合运维系统及方法 | |
CN107943668A (zh) | 计算机服务器集群日志监控方法及监控平台 | |
CN107786616A (zh) | 基于云端的主机智能监控系统 | |
Bronevetsky et al. | Automatic fault characterization via abnormality-enhanced classification | |
CN110768872B (zh) | 巡检方法、系统、装置、计算机设备和存储介质 | |
Iyer et al. | A statistical failure/load relationship: Results of a multicomputer study | |
CN107967485A (zh) | 用电计量设备故障分析方法及装置 | |
CN104504103B (zh) | 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 | |
CN106886485A (zh) | 系统容量分析预测方法及装置 | |
CN104182278B (zh) | 一种判定计算机硬件资源繁忙程度的方法和装置 | |
CN111259073A (zh) | 基于日志、流量和业务访问的业务系统运行状态智能研判系统 | |
Nguyen et al. | Automated verification of load tests using control charts | |
CN108255661A (zh) | 一种实现Hadoop集群监控的方法及系统 | |
CN105069029B (zh) | 一种实时etl系统及方法 | |
CN108632086A (zh) | 一种并行作业运行故障定位方法 | |
CN112463807A (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN112825165A (zh) | 项目质量管理的方法和装置 | |
CN111240936A (zh) | 一种数据完整性校验的方法及设备 | |
Daradkeh et al. | Google traces analysis for deep machine learning cloud elastic model | |
Dietrich et al. | Pika: Center-wide and job-aware cluster monitoring | |
CN109241154A (zh) | 一种分布式数据库监控分析方法及系统 | |
CN115952236A (zh) | 一种基于实时流计算的停电数据分析处理方法及装置 | |
CN116069618A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231220 Address after: No.19, Jiefang East Road, Hangzhou, Zhejiang Province, 310000 Patentee after: CHINA MOBILE GROUP ZHEJIANG Co.,Ltd. Patentee after: China Mobile (Zhejiang) Innovation Research Institute Co.,Ltd. Address before: 310006 No. 288 North Ring Road, Zhejiang, Hangzhou Patentee before: CHINA MOBILE GROUP ZHEJIANG Co.,Ltd. |