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

Hvordan bruger man Timestamp_to_scn og Scn_to_timestamp i Oracle?

Du prøver at se for langt tilbage. Du kan kun konvertere til og fra SCN'er, der er i det gentag-/flashback-vindue, der vedligeholdes af dit system. Når først ændrer alder ud, er kortlægningen tabt.

Dette er forklaret i dokumentationen:

Tilknytningen mellem et SCN og et tidsstempel, når SCN genereres, huskes af databasen i en begrænset periode. Denne periode er maksimum for den auto-tunede fortryd-opbevaringsperiode, hvis databasen kører i tilstanden Automatic Fortryd Management, og opbevaringstiderne for alle flashback-arkiver i databasen, men ikke mindre end 120 timer. Tiden for foreningens forældelse går først, når databasen er åben. Der returneres en fejl, hvis SCN'et er angivet for argumentet til SCN_TO_TIMESTAMP er for gammel.

Husk, at disse er en del af Oracles interne mekanisme, og derfor er de til begrænset brug for os; selvom de selvfølgelig er nyttige til flashback-forespørgsler - igen i samme vindue.



  1. Brug OBJECTPROPERTY() til at finde ud af, om et objekt er en CHECK-begrænsning i SQL Server

  2. Relationel algebra

  3. Returner partitionsnummeret for hver række, når du forespørger en partitioneret tabel i SQL Server (T-SQL)

  4. MySQL> Tabel findes ikke. Men det gør det (eller det burde det)