CN102982037B - 检测数据库节点健康状况的方法及装置 - Google Patents

检测数据库节点健康状况的方法及装置 Download PDF

Info

Publication number
CN102982037B
CN102982037B CN201110260846.5A CN201110260846A CN102982037B CN 102982037 B CN102982037 B CN 102982037B CN 201110260846 A CN201110260846 A CN 201110260846A CN 102982037 B CN102982037 B CN 102982037B
Authority
CN
China
Prior art keywords
database node
sampling period
session
judge
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.)
Active
Application number
CN201110260846.5A
Other languages
English (en)
Other versions
CN102982037A (zh
Inventor
王晓征
肖爱元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Zhejiang Innovation Research Institute Co ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Group Zhejiang Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Group Zhejiang Co Ltd
Priority to CN201110260846.5A priority Critical patent/CN102982037B/zh
Publication of CN102982037A publication Critical patent/CN102982037A/zh
Application granted granted Critical
Publication of CN102982037B publication Critical patent/CN102982037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了检测数据库节点健康状况的方法及装置。方法包括:对于任一oracle?RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比;判断所述异常等待会话占比是否大于预设第一阈值,若是,判断该采样周期内该数据库节点是否存在最严重等待会话,若存在,判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。本发明实现了对oracle?RAC数据库节点健康状况的自动实时检测。

Description

检测数据库节点健康状况的方法及装置
技术领域
本发明涉及数据库技术领域,具体涉及检测数据库节点健康状况的方法及装置。
背景技术
Oracle真正应用集群(RAC,RealApplicationCluster)概念的引入是为了提高系统的高可用性,通过集群软件加共享存储的方式实现容灾。由于各实例(instance)公用物理存储,但各自又有独立的内存结构,因此需要实时地同步分配一些资源。在某些异常情况下会引起节点性能恶劣,严重情况下导致数据库挂起(HANG)。在其中某个节点出现性能耗尽丢失响应的情况下,会导致节点间资源同步挂起,影响整个数据库的正常运行,进而导致业务系统无法提供服务。此时就需要做出迅速准确的判断,对问题节点实行紧急关闭终止(shutdownabort)操作,应用程序方面通过配置透明应用程序故障转移(TAF,TransparentApplicationFailover)可以实现业务无缝切换,在数据库单点故障时实现业务零中断。但目前没有相应成熟的技术解决方案,通常依赖于人工检查判断后再作进一步操作。
目前常见检测RAC数据库节点运行状况的方法有以下几种:
一、利用crs_stat、crsctlcheckcrs、ps-ef、ping、sar等常规系统命令,手工逐一排查各个问题疑似点。如果某方面存在异常,则进行进一步的日志抓取分析。由于常规系统命令产生结果较为专业,可读性不强,且各种系统日志分布较为分散,导致实际操作效率较低。
二、利用v$session_wait、v$sysstat、v$cache_transfer等系统视图,结合AWRsnapshots、ADDMreport来检查各种性能指标,并根据维护管理人员的个人经验进行人为判断。这种方法难以有一个相对合理的标准来作为依据以供判断,对问题的定位存在很大的不确定性。
三、利用oracle提供的专业诊断工具,如oradebug、hanganalyze等对数据库内存段进行转储(dump),根据产生的trace文件来进行底层分析。这种方法最为低效,需要oracle专业开发人员才能分析。
综合以上各种常规技术手段,在单节点数据库性能产生异常状况时,数据库维护管理人员只能通过简单的监控点告警捕捉、登陆系统检查、问题定位分析等流程来进行。传统意义上的解决方法时效性差,从发现问题到定位解决问题往往需要耗时30分钟以上,给客户带来很差的体验感知。且问题的判断分析与管理维护人员的个人主观能力有很大关系,无法做到标准化、专业化。显然无法满足电信级在线事务处理(OLTP,On-LineTransactionProcessing)系统的大型业务请求。
随着信息化系统发展的加快以及集群系统的大范围使用,数据库系统规模及复杂程度呈现日益增长的趋势,特别是对于电信、金融等重要行业的数据中心,其核心业务系统的交互响应实时性很高。一旦数据库系统某个节点出现异常状况,再根据传统的方法进行逐项检查,准确性和及时性都很难得到保证。
现有的几种技术,由于其出发点均是应急处理,故其实现机理都存在一定的被动性及盲目性。数据库性能恶劣时,数据库管理员(DBA,DatabaseAdministrator)通常不是第一时间获知的,往往都是应用维护人员或是开发人员发现业务感知或是业务处理受到影响报告给DBA。此时数据库一般已经处于停止响应或者响应极度缓慢或是HANG状态,造成大面积的业务受到影响,而不能有效地快速发现性能问题,进而采取进一步的处理措施。
因此,原有的几项技术要点只是单纯地、片面地进行一些信息搜集和简单的性能判断,对于复杂的、需要快速响应的OLTP大规模数据库系统,显然已经无法满足。除了一些特定明显的系统错误信息之外,对于其他数据库节点运行健康状况的评估,很大程度上取决于维护人员的经验判断,无法做到标准化实施。
发明内容
本发明提供检测数据库节点健康状况的方法及装置,以实现对oracleRAC数据库节点健康状况的自动、实时检测。
本发明的技术方案是这样实现的:
一种检测数据库节点健康状况的方法,该方法包括:
对于任一oracle真正应用集群RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比;
判断所述异常等待会话占比是否大于预设第一阈值,若是,判断该采样周期内该数据库节点是否存在最严重等待会话,若存在,判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。
所述计算该采样周期内该数据库节点的异常等待会话占比包括:
统计该采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt;
计算该采样周期内该数据库节点的异常等待会话占比p(Wt): p ( Wt ) = Wt En + Iw + Wt * 100 % .
当所述数据库节点属于高并发在线事务处理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。
当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,进一步包括:
判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
一种检测数据库节点健康状况的装置,该装置包括:
活跃会话状态检测模块:在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的活跃会话状态,将该活跃会话状态发送给异常会话分析模块;
异常会话分析模块:接收所述活跃会话状态,根据该活跃会话状态计算当前采样周期内该数据库节点的异常等待会话占比,将该异常等待会话占比和当前采样周期内是否存在最严重等待会话信息发送给健康检测模块;
健康检测模块:接收所述异常等待会话占比和是否存在最严重等待会话信息,判断该异常等待会话占比是否大于预设第一阈值,若是,判断所述是否存在最严重会话信息是否指示当前采样周期内该数据库节点存在最严重等待会话,若存在,判定当前采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作。
所述异常会话分析模块进一步用于,计算当前采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms),将A(Ms)发送给健康检测模块;
所述健康检测模块进一步用于,在判定异常等待会话占比大于预设第一阈值后,判断所述A(Ms)>b是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
所述装置进一步包括:全局队列监控模块,用于在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的的全局队列等待数GEwn,计算当前采样周期内该数据库节点当前实例的全局队列等待占比p(GEw),将p(GEw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GEw)>c是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
所述装置进一步包括:全局缓存监控模块,用于在每个采样周期内,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn,计算当前采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw),将p(GCw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GCw)>d是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
所述装置进一步包括:BRL检测模块,用于计算BRL,将BRL发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定当前采样周期内该数据库节点存在最严重等待会话后,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
所述健康检测模块进一步用于,当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
与现有技术相比,本发明实现了自动实时地检测oracleRAC数据库节点健康状况,使得检测结果更加快速、有效、可靠和标准化;与单一的、瞬时的检测技术相比,引入了范围趋势分析手段,在一定程度上避免了瞬时偶发的异常检测灵敏度差的缺陷。
附图说明
图1为本发明实施例一提供的检测oracleRAC数据库节点健康状况的方法流程图;
图2为本发明实施例二提供的检测oracleRAC数据库节点健康状况的方法流程图;
图3为本发明实施例提供的检测oracleRAC数据库节点健康状况的装置的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例一提供的检测oracleRAC数据库节点健康状况的方法流程图,如图1所示,其具体步骤如下:
步骤101:对于任一oracleRAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比。
步骤102:判断该异常等待会话占比是否大于预设第一阈值,若是,执行步骤103;否则,执行步骤106。
步骤103:判断该采样周期内该数据库节点是否存在最严重等待会话,若是,执行步骤104;否则,执行步骤106。
步骤104:判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,执行步骤105;否则,执行步骤106。
步骤105:对该数据库节点执行关闭终止操作,本流程结束。
步骤106:继续进行下一次采样。
图2为本发明实施例提供的检测oracleRAC数据库节点健康状况的方法流程图,如图2所示,其具体步骤如下:
步骤200:预设采样周期T1和第一时长T2。
步骤201:对于任一oracleRAC数据库节点,当一个采样周期到来时,在当前采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,抓取最近第一时长内该数据库节点的全局队列等待数GEwn,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn。
步骤202:分别统计并记录当前采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt。
会话等待例如:等待中央处理单元(CPU,CentralProcessingUnit)、等待输入/输出(I/O,Input/Output)、等待锁、空闲等待等。其中,空闲等待不会对系统性能造成不良影响,而等待CPU、等待I/O、等待锁则会对系统性能造成不良影响,属于异常等待。根据对系统性能造成不良影响的程序,可预先将异常等待分为一般应用程序性等待、严重等待、最严重等待等,例如:等待CPU、等待I/O属于一般应用程序性等待,等待锁则属于严重等待。
步骤203:计算当前采样周期内该数据库节点的异常等待会话占比p(Wt)。
p ( Wt ) = Wt En + Iw + Wt * 100 %
步骤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。
其中,若当前oracleRAC数据库为高并发OLTP系统,则a的取值通常为90%;若当前oracleRAC数据库为数据分析决策支持系统(DSS,DecisionSupportSystem),则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,BlockRequestLatency),判断BRL>e是否成立,若是,执行步骤212;否则,继续进行下一次采样,返回步骤201。
BRL=(全局缓存当前块接收时长/全局缓存当前块接收数)-(全局缓存当前块等待时长+全局缓存当前块刷新时长+全局缓存当前块发送时长)/全局缓存当前块完整接收到数)
e可根据经验确定。
对于正常OLTP系统,BRL一般都在5ms以下。因此,对于OLTP系统,e可取5ms。
步骤212:判定当前采样周期内该数据库节点为不健康节点。
步骤213:判断该数据库节点是否已连续m个采样周期被判定为不健康节点,若是,执行步骤214;否则,继续进行下一次采样,返回步骤201。
m为预设正整数。
步骤214:判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行步骤215;否则,继续进行下一次采样,返回步骤201。
步骤215:确定该数据库节点性能恶劣,对该数据库节点执行shutdownabort操作。
图3为本发明实施例提供的检测数据库节点健康状况的装置的组成示意图,如图3所示,其主要包括:活跃会话状态检测模块31、异常会话分析模块32、全局队列监控模块33、全局缓存监控模块34、BRL检测模块35和健康检测模块36,其中:
活跃会话状态检测模块31:在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的活跃会话状态,将该活跃会话状态发送给异常会话分析模块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 (14)

1.一种检测数据库节点健康状况的方法,其特征在于,该方法包括:
对于任一oracle真正应用集群RAC数据库节点,在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态,根据该活跃会话状态计算该采样周期内该数据库节点的异常等待会话占比;
判断所述异常等待会话占比是否大于预设第一阈值,若是,判断该采样周期内该数据库节点是否存在最严重等待会话,若存在,判定该采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作;
所述计算该采样周期内该数据库节点的异常等待会话占比包括:
统计该采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt;
计算该采样周期内该数据库节点的异常等待会话占比p(Wt)为:
2.根据权利要求1所述的方法,其特征在于,当所述数据库节点属于高并发在线事务处理OLTP系统时,所述第一阈值的取值为90%;
当所述数据库节点属于数据分析决策支持系统DSS时,所述第一阈值的取值为85%。
3.根据权利要求1所述的方法,其特征在于,所述当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
计算该采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms)为:A(Ms)=Msn/第一时长,其中,Msn为该采样周期内该数据库节点当前实例的最严重等待会话数;
判断A(Ms)>b是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
4.根据权利要求1所述的方法,其特征在于,所述在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态进一步包括:抓取最近第一时长内该数据库节点的全局队列等待数GEwn;
计算该采样周期内该数据库节点当前实例的全局队列等待占比p(GEw)为:p(GEw)=GEwn/GEn,其中,GEn为该采样周期内该数据库节点当前实例的全局队列总数;
且,当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
判断p(GEw)>c是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
5.根据权利要求1所述的方法,其特征在于,所述在每个采样周期内,抓取最近第一时长内该数据库节点的活跃会话状态进一步包括:抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn;
计算该采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw)为:p(GCw)=GCwn/A(GC),
其中,A(GC)为该数据库节点当前实例的全局缓存交互平均值,A(GC)=第二时长内该数据库节点当前实例的全局缓存交互量/第二时长;
且,当判定所述异常等待会话占比大于预设第一阈值后,进一步包括:
判断p(GCw)>d是否成立,若是,执行所述判断该采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
6.根据权利要求1所述的方法,其特征在于,所述当判定该采样周期内该数据库节点存在最严重等待会话后,进一步包括:
计算当前块延迟BRL,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
7.根据权利要求6所述的方法,其特征在于,当所述数据库为OLTP系统时,所述e的取值为5ms。
8.根据权利要求1所述的方法,其特征在于,当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,进一步包括:
判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
9.一种检测数据库节点健康状况的装置,其特征在于,该装置包括:
活跃会话状态检测模块:在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的活跃会话状态,将该活跃会话状态发送给异常会话分析模块;
异常会话分析模块:接收所述活跃会话状态,根据该活跃会话状态计算当前采样周期内该数据库节点的异常等待会话占比,将该异常等待会话占比和当前采样周期内是否存在最严重等待会话信息发送给健康检测模块;
健康检测模块:接收所述异常等待会话占比和是否存在最严重等待会话信息,判断该异常等待会话占比是否大于预设第一阈值,若是,判断所述是否存在最严重会话信息是否指示当前采样周期内该数据库节点存在最严重等待会话,若存在,判定当前采样周期内该数据库节点为不健康节点,继续判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点,若是,对该数据库节点执行关闭终止操作;
所述计算该采样周期内该数据库节点的异常等待会话占比包括:
统计该采样周期内该数据库节点正常执行的活跃会话数En、空闲等待的活跃会话数Iw、异常等待的活跃会话数Wt;
计算该采样周期内该数据库节点的异常等待会话占比p(Wt)为:
10.根据权利要求9所述的装置,其特征在于,所述异常会话分析模块进一步用于,计算当前采样周期内该数据库节点当前实例的最严重等待会话的每秒平均数A(Ms),将A(Ms)发送给健康检测模块;
所述健康检测模块进一步用于,在判定异常等待会话占比大于预设第一阈值后,判断所述A(Ms)>b是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,b为预设第二阈值。
11.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:全局队列监控模块,用于在每个采样周期内,抓取最近第一时长内本oracleRAC数据库节点的全局队列等待数GEwn,计算当前采样周期内该数据库节点当前实例的全局队列等待占比p(GEw),将p(GEw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GEw)>c是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,c为预设第三阈值。
12.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:全局缓存监控模块,用于在每个采样周期内,抓取最近第一时长内该数据库节点的全局缓存交互等待量GCwn,计算当前采样周期内该数据库节点当前实例的全局缓存交互等待占比p(GCw),将p(GCw)发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定所述异常等待会话占比大于预设第一阈值后,判断p(GCw)>d是否成立,若是,执行所述判断当前采样周期内该数据库节点是否存在最严重等待会话的动作,其中,d为预设第四阈值。
13.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:当前块延迟BRL检测模块,用于计算BRL,将BRL发送给健康检测模块;
且,所述健康检测模块进一步用于,当判定当前采样周期内该数据库节点存在最严重等待会话后,判断BRL>e是否成立,若是,执行所述判断该数据库节点是否已连续预设数目个采样周期被判定为不健康节点的动作,其中,e为预设第五阈值。
14.根据权利要求9所述的装置,其特征在于,所述健康检测模块进一步用于,当判定该数据库节点已连续预设数目个采样周期被判定为不健康节点后,判断该数据库节点的异常等待会话是否已经自我恢复,若否,执行所述对该数据库节点执行关闭终止操作的动作;否则,不执行所述对该数据库节点执行关闭终止操作的动作。
CN201110260846.5A 2011-09-05 2011-09-05 检测数据库节点健康状况的方法及装置 Active CN102982037B (zh)

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 CN102982037A (zh) 2013-03-20
CN102982037B true 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)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573838B (zh) * 2014-10-14 2022-04-29 创新先进技术有限公司 缓存健康度检测方法及装置
CN108261176B (zh) * 2017-12-28 2021-06-04 深圳京柏医疗科技股份有限公司 胎心监护数据处理方法、装置、系统、存储介质和计算机设备
CN114664426B (zh) * 2018-02-12 2023-06-02 北京绪水互联科技有限公司 医疗设备的工作调度的分析方法
CN110286732B (zh) * 2019-06-27 2021-01-12 华云数据控股集团有限公司 高可用集群掉电自动恢复方法、装置、设备及存储介质
CN110888776A (zh) * 2019-11-13 2020-03-17 网联清算有限公司 数据库健康状态检测方法、装置及设备
CN111078446B (zh) * 2019-11-22 2023-08-29 北京达佳互联信息技术有限公司 一种故障信息获取方法、装置、电子设备及存储介质
CN111522793B (zh) * 2020-03-26 2024-06-18 华泰证券股份有限公司 一种Oracle数据库执行计划异常的检测方法

Citations (3)

* Cited by examiner, † Cited by third party
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 中国移动通信集团浙江有限公司 一种数据库异常检测方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 中国移动通信集团浙江有限公司 一种数据库异常检测方法和系统

Also Published As

Publication number Publication date
CN102982037A (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
CN102982037B (zh) 检测数据库节点健康状况的方法及装置
CN101876938B (zh) 一种基于消息队列的应用软件响应时间测量方法及系统
CN107943668A (zh) 计算机服务器集群日志监控方法及监控平台
CN107086944A (zh) 一种异常检测方法和装置
Tang et al. Analysis and modeling of correlated failures in multicomputer systems
CN106874159A (zh) 一种集群式自动化测试方法
CN109766334A (zh) 用于电力设备在线监测异常数据的处理方法及系统
CN107797919A (zh) 一种自动化测试的方法及计算设备
CN103986625A (zh) 一种基于统计监测的云应用故障诊断系统
CN110213125A (zh) 一种云环境下基于时序数据的异常检测系统
CN110445688A (zh) 基于数据收集的接口服务功能监测方法及系统
US20090307347A1 (en) Using Transaction Latency Profiles For Characterizing Application Updates
CN111143438A (zh) 一种基于流处理的车间现场数据实时监测与异常检测方法
Nguyen et al. Automated verification of load tests using control charts
CN104335056A (zh) 测试器和材料处理设备之间用于分开和控制测试单元操作中多个实体的不同请求的插入器
CN104583789A (zh) 测试单元控制器的决策和执行树的创建和调度
CN110245053A (zh) 故障预测诊断方法及系统
CN115033463B (zh) 一种系统异常类型确定方法、装置、设备和存储介质
CN110647447A (zh) 用于分布式系统的异常实例检测方法、装置、设备和介质
CN110222504A (zh) 用户操作的监控方法、装置、终端设备及介质
CN112463807A (zh) 一种数据处理方法、装置、服务器及存储介质
CN116962471A (zh) 一种基于物联网的医疗设备管理系统
CN108632086A (zh) 一种并行作业运行故障定位方法
Zhang A meta-analysis of econometrics studies of tourism and low-carbon development
CN109726011A (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

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.

TR01 Transfer of patent right