oracle序列達到了最大值處理

kunlunzhiying發表於2018-01-29
 

客戶方發現有某個大表上的序列達到了最大值,報錯,要求幫忙檢視

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/28211342/viewspace-2150612/,如需轉載,請註明出處,否則將追究法律責任。

相關文章