A fault processing method and device for the database system. When the fault processing device performs the query processing in the database system, the database object is detected online, and the database object is found to have fault, and the database object is automatically isolated and processed. This application can reduce the cost of operation and maintenance and reduce the impact on applications by automatic fault detection and isolation.
【技术实现步骤摘要】
一种数据库系统的故障处理方法和装置
本专利技术涉及数据库,更具体地,涉及一种数据库系统的故障处理方法和装置。
技术介绍
数据库系统是数据库管理系统的简称,典型的产品如Oracle、MySQL等。数据库对象指数据库系统中的逻辑实体,例如表、索引、存储过程等。在大型互联网公司、云计算等数据中心环境中,数据库安装的实例数以万计,因此数据库中的对象出现故障的数量也会较多。例如,在MySQL等数据库产品中,常常会因为各种原因导致部分数据库对象的故障,从而影响业务的正常运行。典型的例子如某个辅助索引损坏而导致查询报错。相关技术中,数据库系统内的故障对象检测有两种方式,一种是数据库内部实现的。数据库产品(例如MySQL)在执行查询时会访问数据库对象,会对其中的系统数据或用户数据做不同程度的一致性检查,如果发现数据库对象故障(典型的情况包括系统数据或用户数据损坏等),系统会给出一个错误信息,以通知应用程序。但是系统并不会对故障对象做隔离,也不会主动尝试修复。在下次访问到该故障对象时,系统还是会报错,这种处理方式对系统管理员以及应用程序非常不友好。另一种故障对象检测的方法是在数据库外部实现的,通过数据库系统之外的模块如高可用模块在外部检测数据库是否提供服务,并做出主备切换以及数据库的重做。它在云计算以及大型互联网公司的大规模部署环境中都有应用。但是,由于故障的检测是数据库外做的,不能及时发现故障,也不具备故障隔离能力。另外,故障的修复粒度很粗,只能重做整个数据库,消耗的时间和系统资源都比较多。某些系统也会提供检查数据库对象是否故障的命令,例如MySQL的CHECKTABLE ...
【技术保护点】
1.一种数据库系统的故障处理方法,包括:在数据库系统执行查询处理时,对数据库对象进行在线检测,发现所述数据库对象存在故障;自动对所述数据库对象执行隔离处理。
【技术特征摘要】
1.一种数据库系统的故障处理方法,包括:在数据库系统执行查询处理时,对数据库对象进行在线检测,发现所述数据库对象存在故障;自动对所述数据库对象执行隔离处理。2.如权利要求1所述的故障处理方法,其特征在于:发现所述数据库对象存在故障之后,所述方法还包括:如果所述数据库对象的故障属于所述数据库系统定义的需尝试在线修复的故障,先尝试在线修复所述故障,修复成功继续执行查询,修复失败则自动对所述数据库对象执行隔离处理;如果所述数据库对象的故障不属于所述数据库系统定义的需尝试在线修复的故障,则自动对所述数据库对象执行隔离处理。3.如权利要求2述的故障处理方法,其特征在于:所述需尝试在线修复的故障包括读取所述数据库对象的数据页面时发现的部分故障,所述部分故障包括循环冗余校验CRC错误。4.如权利要求1或2或3所述的故障处理方法,其特征在于:所述隔离处理包括:将所述数据库对象以及所述数据库系统内存中引用所述数据库对象的数据结构标记为失效。5.如权利要求1或2或3所述的故障处理方法,其特征在于:自动对所述数据库对象执行隔离处理之后,所述方法还包括:对所述数据库对象的故障进行自动修复处理。6.如权利要求5所述的故障处理方法,其特征在于:所述自动修复处理包括:在所述数据库系统内部对所述数据库对象的故障进行自动修复;或者将所述数据库对象的故障记录在系统状态中,触发所述数据库系统之外的模块进行自动修复。7.一种数据库系统的故障处理装置,其特征在于,包括在线检测模块和自动隔离模块,其中:所述在线检测模块设置为:在执行查询处理时对数据库对象进行在线检测,发现所述数据库对象存在故障时通知所述自动隔离模块;所述自动隔离模块设置为:收到所述在线检测模块的所述通知后,自动对所述数据库对象执...
【专利技术属性】
技术研发人员:张文亮,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。