[发明专利]基于ORACLE多节点RAC日志基于SCN对齐读取的方法及系统有效
申请号: | 201811144633.4 | 申请日: | 2018-09-29 |
公开(公告)号: | CN109408480B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 付铨;孙峰;陈艳 | 申请(专利权)人: | 武汉达梦数据库有限公司 |
主分类号: | G06F16/18 | 分类号: | G06F16/18 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 oracle 节点 rac 日志 scn 对齐 读取 方法 系统 | ||
一种基于ORACLE多节点RAC日志基于SCN对齐读取的方法,其包括如下步骤:S1、建立一个合并SCN链表,SCN链表上包含SCN值以及每个SCN值对应的节点掩码标记;S2、每个RAC节点上的日志读取线程,在读取日志时,每当日志集满一个时间戳,则按照SCN值排序,将排序后的日志添加到步骤S1中创建的SCN链表中,将SCN链表中所有SCN小于等于SCN序列中最大SCN值对应的设置该节点掩码标记,标识此节点上对应此SCN的日志已读取完成;S3、当发现SCN链表第一个SCN节点上已读标记掩码设置已包含所有RAC节点时,从SCN链表上摘下SCN节点对应的日志数据,进行日志分析发送到目的端。
技术领域
本发明涉及数据库技术领域,尤其涉及一种基于ORACLE多节点RAC日志基于SCN对齐读取的方法及系统。
背景技术
ORACLE RAC由两个或两个以上实例组成,且共享同一个存储中的数据库数据文件;基于RAC的异构同步搭建时,传统的方法必须要求节点之间系统时间是对齐的,因为在抽取每个RAC节点日志时,需要基于时间戳来对齐每个节点上的日志,把节点之间相同时间戳的日志组合在一起再按SCN排序以后方可进行日志解析。但是,每个RAC集群中的任一实例都有其单独的日志管理系统并处于不同实体服务器,且各自拥有不同的系统时间。如图1所示,当时间同步服务未部署,或者节点之间系统时间出现误差的情况下,如何排序节点之间日志中的日志来获取准确的事务执行顺序,成为RAC数据库同步到其他数据库管理系统(异构数据库同步系统)需要解决的一个问题。
发明内容
有鉴于此,本发明提出一种基于ORACLE多节点RAC日志基于SCN对齐读取的方法及系统。
一种基于ORACLE多节点RAC日志基于SCN对齐读取的方法,其包括如下步骤:
S1、建立一个合并SCN链表,SCN链表上包含SCN值以及每个SCN值对应的节点掩码标记;
S2、每个RAC节点上的日志读取线程,在读取日志时,每当日志集满一个时间戳,则按照SCN值排序,将排序后的日志添加到步骤S1中创建的SCN链表中,将SCN链表中所有SCN小于等于SCN序列中最大SCN值对应的设置该节点掩码标记,标识此节点上对应此SCN的日志已读取完成;
S3、当发现SCN链表第一个SCN节点上已读标记掩码设置已包含所有RAC节点时,从SCN链表上摘下SCN节点对应的日志数据,进行日志分析发送到目的端。
在本发明所述的基于ORACLE多节点RAC日志基于SCN对齐读取的方法中,
所述步骤S1包括:
分别在源端、目的端部署数据库同步系统,源端仅在RAC其中一个节点部署;
创建一个合并SCN链表,SCN链表上包含SCN值以及每个SCN值对应的节点掩码标记,并以SCN值为顺序排列。
在本发明所述的基于ORACLE多节点RAC日志基于SCN对齐读取的方法中,
所述步骤S2包括:
对应每个RAC节点,生成日志读取线程,读取每个RAC节点的日志;
判读每个RAC节点的日志是否集满一个时间戳,即读取到下一个日志操作完成时间变化为止;
每个RAC节点将同一时间戳完成的日志,按照SCN值进行排序;
每个RAC节点分别将排序后的日志加入SCN链表,并设置各自节点在此SCN值上已读取的掩码标记。
在本发明所述的基于ORACLE多节点RAC日志基于SCN对齐读取的方法中,
所述步骤S3包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811144633.4/2.html,转载请声明来源钻瓜专利网。