Oracleのシーケンス(sequence)について、不用意に発番が進んでしまうケースが何度か発生したので、シーケンスを作成し直す方法をここにメモしておきます。
ポイントとしては、現状のシーケンスを一旦削除し、初期値を主キーの最大値に+1した値でを再作成することです。
-- シーケンス(sequence)の削除
-- DROP SEQUENCE <シーケンス名>;
SQL> DROP SEQUENCE M_USER_SEQ;
-- シーケンス(sequence)の再作成
/* CREATE SEQUENCE <シーケンス名>
MINVALUE 1
MAXVALUE 99999999999
INCREMENT BY 1
START WITH <初期値>;*/
SQL> CREATE SEQUENCE M_USER_SEQ MINVALUE 1 MAXVALUE 99999999999 INCREMENT BY 1 START WITH 600 CACHE 20 NOORDER NOCYCLE;
上記クエリを実行することで、初期値が600のシーケンスが再作成されます。
もしかしたらALTER文とかでもっといい方法があるかもしれませんが、自分は一旦この方法で対応できました。