Отслеживание изменений данных

Иногда по той или иной причине возможны непреднамеренные изменения данных в таблице.

4-38-6549085

Чтобы проанализировать такую ситуацию, используют многократные запросы flashback с целью просмотра информации строк в конкретные моменты времени. Большую эффективность обеспечивает функция Flashback Version Query, позволяющая отслеживать все изменения данных строки за период времени. Эта функция предоставляет возможность добавления предложения VERSIONS в инструкцию SELECT, задающую номер изменения системы (SCN, system change number) или диапазон временных меток, в пределах которого требуется просмотреть изменения значений строк. Запрос может также возвращать связанные метаданные, например транзакцию, из-за которой произошло изменение.

Далее после идентификации транзакции с ошибками можно воспользоваться функцией Flashback Transaction Query для определения других изменений, которые были выполнены этой транзакцией. Затем имеется возможность использования функции Flashback Table для восстановления таблицы в состояние, предшествовавшее появлению изменений.

Можно использовать запрос таблицы с предложением VERSIONS для создания всех версий всех строк, которые существуют или когда-либо существовали между моментом выполнения запроса и за undo_retention сек до текущего момента времени. undo_retention – параметр инициализации, который настраивается автоматически. Запрос, содержащий предложение VERSIONS, называется запросом версий. Результаты запроса версий ведут себя так, как если бы к версиям строк применялось предложение WHERE. Запрос версий возвращает версии строк только по транзакциям.

Номер изменения системы (SCN). Сервером Oracle назначается номер изменения системы (SCN, System change number) с целью идентификации записей повторного выполнения для каждой зафиксированной транзакции.

Далее: Резюме по извлечению данных с помощью подзапросов

Related Posts