1 .一种数据库的数据同步方法,包括:
获取同步表名,并根据所述同步表名查询得到对应的同步来源表;
查询得到所述同步来源表的主键的最大值,并记为主键最大值;
根据所述同步表名查询得到对应的同步目标表;
获取与所述同步目标表相关的序列,并记为相关序列;
获取所述相关序列的当前值;
将所述当前值与所述主键最大值比较;
根据比较结果确定所述相关序列是否需要处理;
将需处理的相关序列的当前值设置为所述主键最大值;
开始同步过程。
2.根据权利要求1所述的数据库的数据同步方法,其中,所述获取与所述同步目标表相
关的序列的步骤包括:
获取所述同步目标表上的触发器;
根据所述触发器判断所述同步目标表的主键值是否由序列生成;
若是,则确定所述序列为所述相关序列。
3 .根据权利要求1所述的数据库的数据同步方法,其中,所述获取与所述同步目标表相
关的序列的步骤还包括:
根据预设函数确定所述相关序列。
4 .根据权利要求1所述的数据库的数据同步方法,其中,所述获取与所述同步目标表相
关的序列的步骤还包括:
根据所述数据库的系统目录表联查,得到所述相关序列。
5 .根据权利要求1所述的数据库的数据同步方法,其中,所述根据比较结果确定所述相
关序列是否需要处理的步骤包括:
在所述当前值小于所述主键最大值时,确定所述相关序列为所述需处理的相关序列。
6 .根据权利要求1所述的数据库的数据同步方法,其中,所述将需处理的所述相关序列
的当前值设置为所述主键最大值的步骤包括:
计算所述主键最大值与所述相关序列的当前值的差,记为第一差值;
将所述需处理的相关序列设置为停止缓存;
将所述需处理的相关序列的步长设置为所述第一差值;
对所述需处理的相关序列执行将所述当前值指到下一个值的函数,以将所述需处理的
所述相关序列的当前值设置为所述主键最大值。
7 .根据权利要求6所述的数据库的数据同步方法,其中,所述对所述需处理的相关序列
执行将所述当前值指到下一个值的函数的步骤之后还包括:
将所述需处理的相关序列的步长恢复为设置为所述第一差值之前的原步长;
将所述需处理的相关序列设置为开始缓存。
8.根据权利要求1所述的数据库的数据同步方法,其中,所述将需处理的所述相关序列
的当前值设置为所述主键最大值的步骤包括:
执行重置序列对象的计数器数值的函数,以将所述需处理的所述相关序列的当前值设
置为所述主键最大值。
权 利 要 求 书
1/2 页
2
评论