Sådan konverteres scn til et tidsstempel i Oracle
Oracle har indbyggede funktioner, hvor du kan konvertere scn til tidsstempel og tidsstempel til scn. SCN_TO_TIMESTAMP tager som argument et tal, der evalueres til et SYSTEMÆNDRINGSNUMMER (SCN), og returnerer det omtrentlige tidsstempel, der er knyttet til det pågældende SCN. Denne funktion er nyttig, når som helst du vil vide det tidsstempel, der er knyttet til en SCN. For at gøre dette har Oracle leveret to pakker kaldet SCN_TO_TIMESTAMP og TIMESTAMP_TO_SCN.
- SCN er meget vigtigt, især når du gør RMAN opsving.
- Archivelog gap-opløsning og gendannelse af fysisk standby-server.
- det kan bruges i en datapumpeeksportparameterfil ved hjælp af FLASHBACK_SCN for at sikre en ensartet kopi af databasen på det tidspunkt.
Sådan konverteres SCN til tidsstempel og tidsstempel til SCN
Kontroller den aktuelle scn i databasen ved hjælp af nedenstående forespørgsel.
SQL>select current_scn from v$database;
current_scn
--------------
4426538972
for at få tidsstempelværdien fra det aktuelle scn-nummer.
SQL> select scn_to_timestamp(4426538972) as timestamp from dual;
timestamp
-------------------------------
23-SEP-18 03.22.42.000000000 PM
for at få scn-nummeret fra tidsstemplet.
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