Как работает SCN_TO_TIMESTAMP?

Кодирует ли сам SCN временную метку или это поиск из некоторой таблицы.

В сообщении AskTom он объясняет, что отметка времени до +/-3 секунды хранится в необработанном поле в smon_scn_time. Это где функция собирается получить значение?

Если так, когда этот стол очищается, если вообще? Если это так, что вызывает эту очистку?

Если это так, делает ли это невозможным перевод старых SCN в метки времени?

Если это невозможно, тогда это исключает любое использование этого поля, которые являются долгосрочными вещами (читай: одитинг).

Если я добавлю эту функцию в запрос, будет ли присоединение к этой таблице быстрее?

Если так, кто-нибудь знает, как скрыть эту колонку Raw?

1 ответ

Решение

SCN не кодирует значение времени. Я считаю, что это автоинкрементное число.

Я бы предположил, что SMON вставляет строку в SMON_SCN_TIME (или любую другую таблицу, которая лежит за ней) каждый раз, когда он увеличивает SCN, включая текущую временную метку.

Я запросил минимальную записанную метку времени в нескольких базах данных, и все они возвращаются примерно на 5 дней и имеют в таблице чуть менее 1500 строк. Так что это меньше, чем время жизни экземпляра.

Я предполагаю, что нижний предел того, как долго хранятся данные, может быть определен параметром DB_FLASHBACK_RETENTION_TARGET, который по умолчанию равен 1 дню.

Я бы порекомендовал использовать функцию, они, вероятно, предоставили ее, чтобы они могли менять внутреннее устройство по своему желанию.

Понятия не имею, что содержит столбец RAW TIM_SCN_MAP, но столбцы TIME_DP и SCN появятся, чтобы дать вам отображение.

Другие вопросы по тегам