数据比对sequence不一致处理方案
一、问题现象
使用ogg做数据同步迁移,在切换时,对比源库和目标库的sequence,发现sequence不一致:即目标库的sequence比源库小;这种情况下是不能继续做数据切换操作,必须人为进行操作和解决,否则会影响相关表的正常数据变更二、问题原因
正常情况下,数据导入时sequence也随之导入且随着ogg的同步而随源库做同步,sequence号比源库大或者一样大,出现不一致的原因可能是ogg同步sequence出现异常。三、问题解决
主要解决方案有两个方案一:
源库与目标库的sequence相差较小时:
select ENMOUSER.seqtext.nextval from dual;
select ENMOUSER.seqtext.currval from dual;
方案二:
源库与目标库的sequence相差较大时:
declare
temp number;
begin for i in 1..10 loop select ENMOUSER.seqtext.nextval into temp from dual; end loop;
end;
/
或(不建议)
alter sequence ENMOUSER.seqtext increment by 500;
select ENMOUSER.seqtext.nextval from dual;
alter sequence ENMOUSER.seqtext increment by 1;
特别注意:将sequence的步长改回原有的长度。
最后修改时间:2022-06-23 15:01:06
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
目录