Я бы предложил никогда не доверять «last_number» user_sequence, потому что если при создании последовательности включен кэш, то last_number, скорее всего, будет содержать значение, превышающее текущее значение последовательности.
Что ж, я использовалследующие шаги
1) select <seq_name>.nextval from dual;
2) select <seq_name>.currval from dual;
Так как вы не можете выполнить только currval в первый раз, поэтому я выполнил nextval первым.
SQL> create sequence seq;
Sequence created.
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
1
SQL> select seq.nextval from dual;
NEXTVAL
----------
1
SQL> select seq.currval from dual;
CURRVAL
----------
1
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
21
SQL> select seq.currval from dual;
CURRVAL
----------
1