Максимальное количество дней, которое SCN сохраняет для запроса архивных данных - PullRequest
2 голосов
/ 16 октября 2019

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

SELECT * 
FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2019-09-11 00:00:00', 'YYYY-MM-DD HH24:MI:SS');

Срок хранения архива флэшбека составляет 14 дней.

На сегодняшний день, 16 октября 2019 года, яя могу вернуться до 11 сентября 2019 года. Если я прохожу 10 сентября, то есть 2019-09-10 00:00:00 в TO_TIMESTAMP в приведенном выше запросе, я получаю ORA-08180: no snapshot found based on specified time

Итак, как мне найтиточное время, до которого сохраняется SCN? Я прошел OraDocs и обнаружил следующую информацию:

Связь между SCN и временной меткой, когда SCN генерируется, запоминается базой данных в течение ограниченного периода времени. Этот период является максимальным из периода хранения с автоматической настройкой отмены, если база данных работает в режиме автоматического управления отменой, и времени хранения всех архивов флэш-памяти в базе данных, но не менее 120 часов.

Я запросил параметр UNDO_RETENTION, и для него установлено значение по умолчанию 900 секунд. И есть только один архив воспоминаний, с RETENTION_DAYS, установленным на 14 ДНЕЙ. Итак, согласно документу, срок службы СКС должен составлять 14 дней. Но как я могу вернуться примерно на месяц назад?

PS: я проверял другую базу данных, в которой для параметра UNDO_RETENTION установлено значение по умолчанию 2700 (45 минут), и у меня был только один архив воспоминаний с RETENTION_DAYS, установленным в 14. В этом случае я смогзапрос до 6 дней. Как именно рассчитывается срок службы СКС? Это как-то связано с созданием архива флэшбека?

...