Hur konverterar du scn till en tidsstämpel i Oracle
Oracle har inbyggda funktioner som du kan konvertera scn till tidsstämpel och tidsstämpel till scn. SCN_TO_TIMESTAMP tar som argument ett tal som utvärderas till ett SYSTEMÄNDRINGSNUMMER (SCN) och returnerar den ungefärliga tidsstämpeln som är associerad med den SCN. Den här funktionen är användbar när du vill veta tidsstämpeln som är associerad med en SCN. För att göra detta har Oracle tillhandahållit två paket som heter SCN_TO_TIMESTAMP och TIMESTAMP_TO_SCN.
- SCN är mycket viktigt, särskilt när du gör rman återhämtning.
- Archivelog gap-upplösning och återställning av fysisk standby-server.
- den kan användas i en datapump export parameterfil med FLASHBACK_SCN för att säkerställa en konsekvent kopia av databasen vid den tidpunkten.
så här konverterar du SCN till tidsstämpel och tidsstämpel till SCN
kontrollera databasens aktuella scn med hjälp av nedanstående fråga.
SQL>select current_scn from v$database;
current_scn
--------------
4426538972
för att få tidsstämpelvärdet från det aktuella scn-numret.
SQL> select scn_to_timestamp(4426538972) as timestamp from dual;
timestamp
-------------------------------
23-SEP-18 03.22.42.000000000 PM
för att få scn-numret från tidsstämpeln.
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