【技术实现步骤摘要】
数据库日志重演方法、装置、设备及存储介质
本专利技术实施例涉及数据库
,尤其涉及数据库日志重演方法、装置、设备及存储介质。
技术介绍
重做(Redo)日志是数据库管理系统中的一个重要功能模块。Redo日志包含了所有物理数据页的修改内容。Insert/delete/update等数据操纵语言(DataManipulationLanguage,DML)操作、CreateTable等数据定义语言(DataDefinitionLanguage,DDL)操作,最终都会转化为对物理数据页的修改,这些修改都会反映到Redo日志中。一般说来一条修改数据的结构化查询语言(StructuredQueryLanguage,SQL)语句(比如Insert),在数据库管理系统内部会转化为多个相互独立的物理事务来完成,物理事务产生的Redo日志最终会写入日志文件。一个物理事务(PhysicalTransaction,PTX)包含一个或者多个Redo记录(RREC),每个RREC都对应一个数据库内部的修改动作。Redo日志重演就是备数据库的 ...
【技术保护点】
1.一种数据库日志重演方法,其特征在于,应用于备数据库的服务器中,包括:/n确定当前重做日志包中是否包括目标重做日志;其中,所述目标重做日志为含有对象标识的预设封锁的重做日志,所述当前重做日志包为主数据库的服务器执行数据定义语言DDL操作时生成的多个重做日志包中的一个,所述多个重做日志包中包括至少两个所述目标重做日志,其中一个所述目标重做日志的产生顺序位于所述多个重做日志包中包括的提交日志的产生顺序之前,并且与所述提交日志的产生顺序相邻;/n当确定所述当前重做日志包中包括所述目标重做日志时,等待已分发给重演线程的重做日志包重演完成;其中,所述已分发给重演线程的重做日志包的产 ...
【技术特征摘要】
1.一种数据库日志重演方法,其特征在于,应用于备数据库的服务器中,包括:
确定当前重做日志包中是否包括目标重做日志;其中,所述目标重做日志为含有对象标识的预设封锁的重做日志,所述当前重做日志包为主数据库的服务器执行数据定义语言DDL操作时生成的多个重做日志包中的一个,所述多个重做日志包中包括至少两个所述目标重做日志,其中一个所述目标重做日志的产生顺序位于所述多个重做日志包中包括的提交日志的产生顺序之前,并且与所述提交日志的产生顺序相邻;
当确定所述当前重做日志包中包括所述目标重做日志时,等待已分发给重演线程的重做日志包重演完成;其中,所述已分发给重演线程的重做日志包的产生顺序均位于所述当前重做日志包的产生顺序之前;
当确定所述已分发给重演线程的重做日志包重演完成时,将所述当前重做日志包分发至预设重演线程,并控制所述预设重演线程按照所述当前重做日志包中包括的重做日志的产生顺序,串行重演所述当前重做日志包。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前重做日志包分发至预设重演线程,并控制所述预设重演线程按照所述当前重做日志包中包括的重做日志的产生顺序,串行重演所述当前重做日志包之后,所述方法还包括:
在确定串行重演完所述当前重做日志包后,将下一个重做日志包确定为新的当前重做日志包,返回执行确定当前重做日志包中是否包括目标重做日志的步骤;其中,下一个重做日志包的产生顺序位于所述当前重做日志包的产生顺序之后,并且,与所述当前重做日志包的产生顺序相邻。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当确定所述当前重做日志包不包括所述目标重做日志时,将所述当前重做日志包分发至所述重演线程,并控制所述重演线程并行重演所述当前重做日志包中对应的重做日志。
4.根据权利要求3所述的方法,其特征在于,所述将所述当前重做日志包分发至所述重演线程,并控制所述重演线程并行重演所述当前重做日志包中对应的重做日志之后,所述方法还包括:
将所述下一个重做日志包确定为新的当前重做日志包,返回执行确定当前重做日志包中是否包括目标重做日志的步骤。
5.根据权利要求3所述的方法,其特征在于,所述控制所述重演线程并行重演所述当前重做日志包中对应的重做日志,包括:...
【专利技术属性】
技术研发人员:王海龙,王蒙蒙,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。