客户方发现有某个大表上的序列达到了最大值,报错,要求帮忙查看
set linesize 180
set long 90000
SELECT dbms_metadata.get_ddl('SEQUENCE', 'SEQUENCE_NAME','TABLENAME‘) FROM DUAL;
估计是当时创建的语句设置了最大值,现在已经达到了,业务规则又不允许循环:
create sequence sequence_name start with 1 increment by 1 maxvalue 2147483647;
oracle默认最大值是多少?999999999999999999999
建议:
调整序列定义,如果业务不允许循环使用,那么指定一个更大的最大值或者使用默认最大值。
alter sequence sequence_name nomaxvalue;
后来使用了默认的最大值,解决了问题。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21256317/viewspace-1063295/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21256317/viewspace-1063295/