【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种数据库系统恢复方法及设备。
技术介绍
在数据库系统中每个数据库实例都有重做日志(Redo日志),Redo日志的作用是 用于恢复数据库中已提交的事务,从而保证在数据库系统宕机时,恢复用户已提交的事务, 使数据库达到与在数据库系统宕机前一致的状态。在数据库系统宕机后,系统重启时,数据 库系统会恢复指定区间的所有事务;其中,上述指定区间是指从参考点到待恢复点之间的 区间,上述参考点可以包括用户预先设置的检查点、备份点或者归档点,上述待恢复点可以 是数据库系统发生宕机的时间点。目前的数据库系统主要是通过数据库实例包含的Redo日志恢复上述参考点到恢 复点之间的所有提交的事务。恢复过程如下第一数据库实例打开数据库系统中每个数据实例的Redo日志中上述指定区间的 第一条日志所记录的事务;上述第一数据库实例为数据库系统中的一个数据库实例;第一数据库实例依据日志标识符从小到大的顺序恢复所述打开的日志所记录的 事务;第一数据库实例打开数据库系统中每个数据实例的Redo日志中上述指定区间的 第二条日志,再依据日志标识符从小到大的顺序恢复所述打开 ...
【技术保护点】
一种数据库系统恢复方法,其特征在于,包括:第一节点将所述第一节点上运行的第一数据库实例包含的数据相关日志,按照预先设定的划分规则划分为N个日志分区,并按照预先设定的标识规则为每个所述日志分区设置分区标识,且每个日志分区能够实现独立恢复所记录的事务;其中,所述数据相关日志指用于记录数据页改动的事务的日志;N为所述数据库系统中包含的数据库实例个数,每个数据库实例运行在所述数据库系统的一个节点上,且每个所述节点设置有节点标识;所述第一节点获取所述第一数据实例的第一日志分区和其它各个数据库实例的第二日志分区;其中,所述第一日志分区为划分的所述N个日志分区中,与所述第一节点对应的日志 ...
【技术特征摘要】
1.一种数据库系统恢复方法,其特征在于,包括第一节点将所述第一节点上运行的第一数据库实例包含的数据相关日志,按照预先设定的划分规则划分为N个日志分区,并按照预先设定的标识规则为每个所述日志分区设置分区标识,且每个日志分区能够实现独立恢复所记录的事务;其中,所述数据相关日志指用于记录数据页改动的事务的日志#为所述数据库系统中包含的数据库实例个数,每个数据库实例运行在所述数据库系统的一个节点上,且每个所述节点设置有节点标识;所述第一节点获取所述第一数据实例的第一日志分区和其它各个数据库实例的第二日志分区;其中,所述第一日志分区为划分的所述N个日志分区中,与所述第一节点对应的日志分区,所述其它各个数据库实例中,每个数据库实例的第二日志分区是所述每个数据库实例所在节点将所述每个数据库实例包含的数据相关日志,按照所述预先设定的划分规则划分,并按照所述预先设定的标识规则设置分区标识后得到的日志分区中,与所述第一节点对应的日志分区;其中,与所述第一节点对应的日志分区具体为预先设定的节点标识与分区标识的映射关系所指示的与所述第一节点的标识对应的分区标识所对应的日志分区,所述其它数据库实例为所述N个数据库实例中除所述第一数据库实例之外的所有数据库实例;所述第一节点恢复所述获取的第一日志分区所记录的事务以及各个第二日志分区所记录的事务。2.如权利要求1所述的方法,其特征在于,所述第一节点获取所述第一数据实例的第一日志分区和其它各个数据库实例的第二日志分区,包括所述第一节点接收所述其它各个数据库实例所在的各个节点发送的所述其它各个数据库实例的第二日志分区;或者所述第一节点接收所述其它各个数据库实例所在的各个节点发送的所述其它各个数据库实例的第二日志分区的路径信息,根据所述路径信息读取所述其它各个数据库实例的第二日志分区;所述路径信息为存储第二日志分区的存储地址信所述第一节点根据预先设定的节点标识与分区标识的映射关系,从划分得到的所述N 个日志分区中,读取与所述第一节点的标识相对应分区标识所对应的第一日志分区。3.如权利要求1所述的方法,其特征在于,所述第一节点获取所述第一数据实例中的第一日志分区和其它各个数据库实例的第二日志分区包括所述第一节点接收所述数据库系统的中心协调节点发送的所述其它各个数据库实例的第二日志分区的路径信息,所述路径信息为存储第二日志分区的存储地址信息;所述第一节点根据所述路径信息从所述其它各个数据库实例所在的各个节点上,分别读取所述其它各个数据库实例的第二日志分区;所述第一节点根据预先设定的节点标识与分区标识的映射关系,从划分得到的所述N 个日志分区中,读取与所述第一节点的标识相对应分区标识所对应的第一日志分区。4.如权利要求1-3中任一项所述的方法,其特征在于,所述第一节点将所述第一节点上运行的第一数据库实例包含的数据相关日志,按照预先设定的划分规则划分为N个日志分区,包括所述第一节点计算所述第一数据库实例包含的数据相关日志的哈希值,所述哈希值指所述数据相关日志的数据页的数据页标识的哈希值,所述数据页为所述数据相关日志所记录的事务的数据页;所述第一节点将计算得到的哈希值,按照预先设定的划分规则划分为N个集合;所述第一节点将哈希值为同一集合的所有数据页作为一个日志分区,以得到N个日志分区。5.如权利要求4所述的方法,其特征在于,所述第一节点计算第一数据库实例包含的数据相关日志的哈希值之前,所述方法还包括所述第一节点基于所述第一数据库实例包含的数据相关日志的数据页所在表空间的标识、所述数据页所在数据库的内部ID、所述数据页所在表的内部ID和所述数据页的页号计算得到所述数据相关日志的数据页的数据页标识,以便于根据计算得到的所述数据页标识,计算所述第一数据库实例包含的数据相关日志的哈希值。6.如权利要求1-4中任一项所述的方法,其特征在于,所述第一节点将所述第一节点上运行的第一数据库实例包含的数据相关日志,按照预先设定的划分规则划分为N个日志分区包括所述第一节点将所述第一节点上运行的第一数据库实例包含的指定区间的数据相关日志,按照预先设定的划分规则划分为N个日志分区;其中,所述指定区间包括位置区间或时间区间。7.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括所述第一节点恢复所述第一数据库实例包含的非数据日志所记录的事务,以使所述第一节点根据所述非数据日志所记录的事务,恢复的所述第一日志分区所记录的事务以及各个第二日志分区所记录的事务,恢复出完整的数据页;所述非数据日志指用于记录非数据页改动的事务的日志。8.一种节点设备,所述节点设备为数据库系统中的一个节点,其特征在于,所述节点设备包括划分单元、获取单元和第一恢复单元,其中所述划分单元,用于将所述节点设备上运行的第一数据库实例包含的数据相关日志, 按照预先设定的划分规则划分为N个日志分区,并按照预先设定的标识规则为每个所述日志分区设置分区标识,且每个日志分区能够实现独立恢复所记录的事...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。