Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como usar Timestamp_to_scn e Scn_to_timestamp no Oracle?


Você está tentando olhar muito para trás. Você só pode converter de e para SCNs que estão na janela de refazer/flashback mantida pelo seu sistema. Uma vez que as alterações envelhecem, o mapeamento é perdido.

Isso é explicado na documentação:

A associação entre um SCN e um timestamp quando o SCN é gerado é lembrada pelo banco de dados por um período de tempo limitado. Esse período é o máximo do período de retenção de desfazer ajustado automaticamente, se o banco de dados for executado no modo Gerenciamento Automático de Desfazer, e os tempos de retenção de todos os arquivos de flashback no banco de dados, mas não inferior a 120 horas. O tempo para a associação se tornar obsoleta decorre apenas quando o banco de dados é aberto. Um erro é retornado se o SCN especificado para o argumento para SCN_TO_TIMESTAMP é muito velho.

Tenha em mente que eles fazem parte do mecanismo interno da Oracle e, portanto, são de uso limitado para nós; embora sejam úteis para consultas de flashback, é claro - novamente dentro da mesma janela.