Oracle
 sql >> Database >  >> RDS >> Oracle

la sequenza dell'oracolo in letargo produce un ampio divario

Penso che il problema derivi dal fatto che il generatore di sequenze non è realmente un generatore di sequenze, ma un generatore di sequenze hilo, con una dimensione di allocazione predefinita di 50. come indicato dalla documentazione:http://docs.jboss.org/ ibernazione/stabile/annotations/reference/en/html_single/#entity-mapping-identifier

Ciò significa che se il valore della sequenza è 5000, il valore successivo generato sarà 5000 * 50 =250000. Aggiungi il valore della cache della sequenza all'equazione e potrebbe spiegare il tuo enorme divario iniziale.

Controllare il valore della sequenza. Dovrebbe essere inferiore all'ultimo identificatore generato. Fai attenzione a non reinizializzare la sequenza su quest'ultimo valore generato + 1, perché il valore generato crescerebbe in modo esponenziale (abbiamo avuto questo problema e avevamo ID interi negativi a causa dell'overflow)