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

dvale orakelsekvens producerer stort hul

Jeg tror, ​​at problemet kommer fra det faktum, at sekvensgeneratoren ikke egentlig er en sekvensgenerator, men en sekvens hilo-generator, med en standard allokeringsstørrelse på 50. som angivet af dokumentationen:http://docs.jboss.org/ hibernate/stable/annotations/reference/da/html_single/#entity-mapping-identifier

Dette betyder, at hvis sekvensværdien er 5000, vil den næste genererede værdi være 5000 * 50 =250000. Føj cacheværdien af ​​sekvensen til ligningen, og det kan måske forklare dit store indledende hul.

Tjek værdien af ​​sekvensen. Den skal være mindre end den sidst genererede identifikator. Vær forsigtig med ikke at geninitialisere sekvensen til denne sidst genererede værdi + 1, fordi den genererede værdi ville vokse eksponentielt (vi har haft dette problem og haft negative heltals-id'er på grund af overløb)



  1. Sådan får du en liste over datoer mellem to datoer i mysql select-forespørgsel

  2. RMAN-kommandoer fejler med ORA-00904:"BS".."GUID":ugyldig identifikator

  3. Bindestreger i kolonnenavne i MySQL DB

  4. Tæl alle objekter i din database