[发明专利]一种数据库系统恢复方法及设备有效
申请号: | 201210570176.1 | 申请日: | 2012-12-25 |
公开(公告)号: | CN103049355A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 聂愿愿;李健;程广卫 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F17/30 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 系统 恢复 方法 设备 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种数据库系统恢复方法及设备。
背景技术
在数据库系统中每个数据库实例都有重做日志(Redo日志),Redo日志的作用是用于恢复数据库中已提交的事务,从而保证在数据库系统宕机时,恢复用户已提交的事务,使数据库达到与在数据库系统宕机前一致的状态。在数据库系统宕机后,系统重启时,数据库系统会恢复指定区间的所有事务;其中,上述指定区间是指从参考点到待恢复点之间的区间,上述参考点可以包括用户预先设置的检查点、备份点或者归档点,上述待恢复点可以是数据库系统发生宕机的时间点。
目前的数据库系统主要是通过数据库实例包含的Redo日志恢复上述参考点到恢复点之间的所有提交的事务。恢复过程如下:
第一数据库实例打开数据库系统中每个数据实例的Redo日志中上述指定区间的第一条日志所记录的事务;上述第一数据库实例为数据库系统中的一个数据库实例;
第一数据库实例依据日志标识符从小到大的顺序恢复所述打开的日志所记录的事务;
第一数据库实例打开数据库系统中每个数据实例的Redo日志中上述指定区间的第二条日志,再依据日志标识符从小到大的顺序恢复所述打开的日志所记录的事务;再根据上述恢复规则恢复每个数据库实例的Redo日志的事务。
上述技术中,整个恢复过程全由一个数据库实例完成,而在实际中数据库系统在上述指定区间中需要恢复的事务很多,这样由一个数据库实例来完成,恢复时间过长,且在恢复过程中数据库系统会处于不可使用的状态,这样无疑降低了数据库系统的可用性。
发明内容
本发明实施例提供了一种数据库系统恢复方法及设备,可以在数据库系统宕机或基于时间点的恢复时,提高日志恢复的效率,从而提高数据库系统的可用性。
本发明第一方面提供一种数据库系统恢复方法,包括:
第一节点将所述第一节点上运行的第一数据库实例包含的数据相关日志,按照预先设定的划分规则划分为N个日志分区,并按照预先设定的标识规则为每个所述日志分区设置分区标识,且每个日志分区能够实现独立恢复所记录的事务;其中,所述数据相关日志指用于记录数据页改动的事务的日志;N为所述数据库系统中包含的数据库实例个数,每个数据库实例运行在所述数据库系统的一个节点上,且每个所述节点设置有节点标识;
所述第一节点获取所述第一数据实例的第一日志分区和其它各个数据库实例的第二日志分区;其中,所述第一日志分区为划分的所述N个日志分区中,与所述第一节点对应的日志分区,所述其它各个数据库实例中,每个数据库实例的第二日志分区是所述每个数据库实例所在节点将所述每个数据库实例包含的数据相关日志,按照所述预先设定的划分规则划分,并按照所述预先设定的标识规则设置分区标识后得到的日志分区中,与所述第一节点对应的日志分区;其中,与所述第一节点对应的日志分区具体为预先设定的节点标识与分区标识的映射关系所指示的与所述第一节点的标识对应的分区标识所对应的日志分区,所述其它数据库实例为所述N个数据库实例中除所述第一数据库实例之外的所有数据库实例;
所述第一节点恢复所述获取的第一日志分区所记录的事务以及各个第二日志分区所记录的事务。
在第一方面的第一种可能的实现方式中,所述第一节点获取所述第一数据实例的第一日志分区和其它各个数据库实例的第二日志分区,包括:
所述第一节点接收所述其它各个数据库实例所在的各个节点发送的所述其它各个数据库实例的第二日志分区;或者所述第一节点接收所述其它各个数据库实例所在的各个节点发送的所述其它各个数据库实例的第二日志分区的路径信息,根据所述路径信息读取所述其它各个数据库实例的第二日志分区;所述路径信息为存储第二日志分区的存储地址信息;
所述第一节点根据预先设定的节点标识与分区标识的映射关系,从划分得到的所述N个日志分区中,读取与所述第一节点的标识相对应分区标识所对应的第一日志分区
结合第一方面,在第二种可能的实现方式中,所述第一节点获取所述第一数据实例中的第一日志分区和其它各个数据库实例的第二日志分区包括:
所述第一节点接收所述数据库系统的中心协调节点发送的所述其它各个数据库实例的第二日志分区的路径信息,所述路径信息为存储第二日志分区的存储地址信息;
所述第一节点根据所述路径信息从所述其它各个数据库实例所在的各个节点上,分别读取所述其它各个数据库实例的第二日志分区;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210570176.1/2.html,转载请声明来源钻瓜专利网。