Включение измерения времени в СУБД
Для борьбы с человеческими ошибками, аудита, а также для восстановления старых версий данных и отчетов (что диктуется нормативными требованиями), надо иметь в СУБД штатную возможность откатываться в прошлое по оси времени, т.е. заказывать отчеты или запросы на текущем состоянии БД такими, какими они были на момент времени в прошлом. Часто требуется быстро и просто откатить всю базу, отдельные транзакции в прошлое или восстановить удаленные объекты БД и ошибочно измененные пользователем данные. Иногда надо посмотреть, как изменялись данные в течение некоторого интервала времени.
Для выполнения этих операций в СУБД встраиваются измерение времени и механизм для быстрого воссоздания старого состояния базы, объекта или запроса. В частности у Oracle это реализуется с помощью команды Flashback (Database, Table, Transaction, Query, Version Query). Развитием механизма Flashback стал механизм Flashback Data Archive, который позволяет компактно хранить след изменения данных и легко восстанавливать старое состояние данных таблиц. При этом можно откатиться на любой отрезок времени в прошлое, вплоть до момента создания этой таблицы, и восстановить старое состояние ее данных, даже если за это время изменилась структура таблицы