As sequências Oracle não são destinadas a produzir ids contíguos (incremento de um) na tabela de destino. Isso ocorre porque eles são projetados para serem muito rápidos e permitirem acesso multithread, o que significa que, sob o capô, os IDs de sequência são armazenados em cache em diferentes transações.
Você pode aliviar o problema declarando a sequência com
NOCACHE
, mas ainda não há garantia de que os ids não sejam ignorados se, por algum motivo, uma transação for revertida. Como sempre, Tom Kyte explica isso em profundidade.