sql >> Databáze >  >> RDS >> Oracle

Jak používat Timestamp_to_scn a Scn_to_timestamp v Oracle?

Snažíš se dívat příliš daleko zpět. Převádět můžete pouze do az SCN, které jsou v okně redo/flashback spravované vaším systémem. Jakmile se změní věk, pak se mapování ztratí.

To je vysvětleno v dokumentaci:

Přidružení mezi SCN a časovým razítkem při generování SCN si databáze pamatuje po omezenou dobu. Tato doba představuje maximum z automaticky vyladěné doby uchování zpět, pokud databáze běží v režimu Automatic Undo Management, a doby uchování všech flashback archivů v databázi, ale ne méně než 120 hodin. Doba, kdy se přidružení stane zastaralým, uplyne pouze tehdy, když je databáze otevřená. Pokud je SCN zadané pro argument SCN_TO_TIMESTAMP, vrátí se chyba je příliš starý.

Mějte na paměti, že jsou součástí vnitřního mechanismu společnosti Oracle, a proto jsou pro nás pouze omezené; i když jsou samozřejmě užitečné pro flashbackové dotazy - opět ve stejném okně.



  1. Python/postgres/psychopg2:získávání ID právě vloženého řádku

  2. Počítání počtu výskytů podřetězce v řetězci v PostgreSQL

  3. MIN/MAX vs. ORDER BY a LIMIT

  4. Jak zkontrolovat, zda existuje sloupec v tabulce SQL Server?