Come convertire scn in un timestamp in Oracle
Oracle ha funzionalità integrate con cui è possibile convertire scn in timestamp e timestamp in scn. SCN_TO_TIMESTAMP prende come argomento un numero che valuta un numero di modifica del sistema (SCN) e restituisce il timestamp approssimativo associato a tale SCN. Questa funzione è utile ogni volta che si desidera conoscere il timestamp associato a un SCN. Per fare ciò, Oracle ha fornito due pacchetti chiamati SCN_TO_TIMESTAMP e TIMESTAMP_TO_SCN.
- SCN è molto importante soprattutto quando si sta facendo il recupero RMAN.
- Archivelog gap risoluzione e recupero del server di standby fisico.
- Può essere utilizzato in un file di parametri di esportazione data pump utilizzando FLASHBACK_SCN per garantire una copia coerente del database in quel momento.
COME CONVERTIRE SCN IN TIMESTAMP E TIMESTAMP IN SCN
Controlla lo scn corrente del database usando la query sottostante.
SQL>select current_scn from v$database;
current_scn
--------------
4426538972
Per ottenere il valore timestamp dal numero scn corrente.
SQL> select scn_to_timestamp(4426538972) as timestamp from dual;
timestamp
-------------------------------
23-SEP-18 03.22.42.000000000 PM
Per ottenere il numero scn dal timestamp.
SQL> select timestamp_to_scn(to_timestamp('23/09/2018 15:22:44','DD/MM/YYYY HH24:MI:SS')) as scn from dual;
SCN
----------
4426538972