[发明专利]一种数据库日志重演方法、装置、设备及存储介质在审
申请号: | 202011349368.0 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112416654A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 王海龙;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/50 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 日志 重演 方法 装置 设备 存储 介质 | ||
本发明公开了一种数据库日志重演方法、装置、设备及存储介质。该方法包括:根据并行度参数创建至少两个重演线程;接收主库发送的至少一个Redo日志包,根据所述至少一个Redo日志包确定数据页地址信息;根据所述数据页地址信息和并行度参数将所述至少一个日志包依次分配给所述至少两个重演线程进行数据库日志重演,通过本发明的技术方案,以实现能够通过创建多个重演线程,多个重演线程共同完成Redo日志的重演任务。每个重演线程仅重演其中一部分数据页,由多个重演线程并行地重演Redo日志。将原先Redo日志由单个线程串行重演,转化为多个线程并行重演,充分利用多CPU的计算能力,不但可以提升Redo日志重演性能,也提升了故障重启速度和还原恢复速度。
技术领域
本发明实施例涉及数据库技术,尤其涉及一种数据库日志重演方法、装置、设备及存储介质。
背景技术
Redo日志是数据库管理系统中的一个重要功能模块,数据库故障重启时,可通过重演Redo日志,将数据库恢复到系统故障前的状态。
Redo日志包含了所有物理数据页的修改内容,Insert、delete或者update等DML操作、Create Table等DDL操作,最终都会转化为对物理数据页的修改,这些修改都会反映到Redo日志中。一般说来一条修改数据的SQL语句(比如Insert),在系统内部会转化为多个相互独立的物理事务来完成,物理事务提交时会将产生的Redo日志写入日志包RLOG_PKG中。
一个物理事务(下文简称PTX)包含一个或者多个Redo记录(RREC),每个RREC都对应一个数据库内部的修改动作。根据记录内容的不同,RREC可以分为两类:物理RREC和逻辑RREC。物理RREC记录的是数据页的变化情况,记录内容包括:操作类型、修改数据页地址、页内偏移、数据长度和修改内容。逻辑RREC记录的是一些数据库逻辑操作步骤,主要包括:事务启动、事务提交、事务回滚、字典封锁、事务封锁、B树封锁、字典淘汰等。
Redo日志包(RLOG_PKG)是批量保存Redo日志的数据单元。一个日志包内可保存一个或多个PTX产生的Redo日志,一个PTX产生的Redo日志只能保存在一个日志包中。日志包具有自描述的特性,日志包大小不固定,可分为包头和包体两个部分。包头采用固定包头和可变包头相结合的方式,记录日志的控制信息,包括类型、长度、包序号、LSN信息、产生日志的节点号、加密压缩信息、日志包内并行数等内容,其中包序号是一个全局唯一、递增的数值。包体记录具体的Redo日志内容。RLOG_PKG日志包分两种类型,一种是串行日志包,一种是并行日志包,串行日志包只需要固定包头即可,并行日志包需要用到可变包头,记录每路并行日志在包内的偏移位置,由于并行数不确定,所以这部分信息是变长的,也就是可变包头。
物理事务(PTX)提交时将Redo日志写入到日志包中,在数据库事务(简称TRX)提交或日志包被写满时触发日志刷盘动作。日志刷盘线程负责将日志包中的Redo日志写入联机日志文件。
主备集群中,主库以RLOG_PKG为单位发送主库的Redo日志到备库。备库通过重演主库的Redo日志,得到和主库一样的数据库文件。
Redo日志重演就是解析Redo日志,根据RREC记录的数据页地址和修改内容,重新修改数据页。Redo日志重演是数据库故障恢复、数据库还原恢复、以及数据库主备集群的实现基础。Redo日志重演的速度,决定了数据库故障恢复、数据库还原恢复、以及数据库主备集群的性能上限。
一般的Redo日志重演的流程大致包括日志包加载、数据页预加载和Redo日志重演三部分,这三部分功能,分别由一个单独的线程负责处理。故障重启时,从联机日志加载日志包,还原恢复时从归档日志文件加载日志包,备库重演则从主库接收日志包;数据页预加载则解析日志包,将Redo日志修改的数据页提前从磁盘加载到数据库缓冲区中;日志重演则解析Redo日志,将数据页的修改内容,重新写入到缓冲区内的数据页中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011349368.0/2.html,转载请声明来源钻瓜专利网。