ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 序列异常导致灾备端应用异常处理一则

序列异常导致灾备端应用异常处理一则

原创 Linux操作系统 作者:湖湘文化 时间:2013-11-15 17:31:14 0 删除 编辑
从今天起,陆续将以前整理的文档发表记录下来。

 

灾备环境灾备端oracle数据库一个序列异常导致部分业务应用功能无法使用

现象:

生产端exp导出,传输到灾备端,imp导入。

灾备端用cms/abc访问数据库,执行以下sql语句:

select max(articleid) from slib ;

select seq_slib.nextval from dual;

正常情况下,第一条语句返回的值应该比第二条语句返回的值小(比如100,117),可是现实情况刚好相反(117,100),开发工程师说就是因为这个序列异常导致该功能无法正常使用了,报错违反唯一性约束;

解决方法:

如果要修改start with即初始值,只能先删除该序列drop,然后再重新建(但是使用该方法不知道怎么实现自动化);后来发现可以先修改increment 、取一下nextval, 再改回increment..

于是新加了一个脚本sequence.sql (实现自动化)内容如下所示:

conn cmsuser02/xyz
alter sequence seq_slib increment by 20;
select seq_slib.nextval from dual;
alter sequence seq_slib increment by 1;
commit;
exit;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21256317/viewspace-776722/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 开通博客
请登录后发表评论 登录
全部评论

注册时间:2009-05-31

  • 博文量
    108
  • 访问量
    1521781