Le sequenze Oracle non sono pensate per produrre ID contigui (incrementi di uno) nella tabella di destinazione. Questo perché sono progettati per essere molto veloci e per consentire l'accesso multi-thread, il che significa che gli ID sequenza vengono memorizzati nella cache in diverse transazioni.
Potresti essere in grado di alleviare il problema dichiarando la sequenza con NOCACHE
, ma non vi è ancora alcuna garanzia che gli ID non vengano ignorati se per qualche motivo una transazione dovesse essere annullata.
Come sempre, Tom Kyte spiega questo in profondità.