Convertir SCN a Marca de Tiempo (scn_to_timestamp)

Convertir SCN a Marca de Tiempo (scn_to_timestamp)

Buscando información me intereso este post importante para temas de recuperación de datos tomado y traducido en google "Vi la buena función a continuación mientras leía sobre la sección de bloqueo y pestillos del Libro del Sr. Thomas Kytes (Expert Oracle Architecture Architecture 9i y 10g Programming Techniques and Solutions) y me dije a mí mismo que tenía que compartirlo para personas como yo. 

Si conoce el SCN (número de cambio del sistema), puede obtener su valor de marca de tiempo (dentro de aproximadamente +/– 3 segundos) mediante la función scn_to_timestamp. Después de mirar el manual para obtener más información, vi otras dos buenas funciones sobre scn. Todos están bajo el paquete DBMS_FLASHBACK y no están disponibles para las versiones anteriores a 10 g. Encontré estas funciones útiles para problemas de recuperación de datos, problemas de recuperación y problemas de flashback."



SQL> select TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER) from dual;


TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE
----------------------------------------
12282276930740


Convertir a Fecha y hora

SQL> select scn_to_timestamp(12282276930740) as timestamp from dual; ---Valor anterior

TIMESTAMP
---------------------------------------------------------------------------
05-JUN-20 02.39.34.000000000 AM


Convertir de Fecha y Hora a SCN

SQL> select TO_CHAR(timestamp_to_scn(to_timestamp('05/06/2020 02:39:34','DD/MM/YYYY HH24:MI:SS'))) as scn from dual;

SCN
----------------------------------------
12282276930737