Ограничения и Советы по использованию Total Recall

Рубрика: Технология ретроспекции II

  • Нельзя включить Total Recall для базовых таблиц с Гибридным Колоночным сжатием.

  • Если используется диссоциация, неизменность истории больше не гарантируется (но Вы могли бы так или иначе производить чистку истории ранее с правильной привилегией).

  • Нет транспортируемости таблиц истории.

Некоторые операторы DDL вызывают ошибку ORA-55610, когда используются на таблице, включенной для Архива Данных Ретроспекции. Например:

  • Оператор ALTER TABLE, который включает пункт UPGRADE TABLE, с или без предложения INCLUDING DATA

  • Оператор ALTER TABLE, который перемещает или обменивает операцию раздела или подраздела

  • Оператор DROP TABLE

Инструкции

  • Используйте SCN для точных запросов.

или

  • Используйте технологию Ретроспекции для своего удобства.

  • Ретроспекция использует текущие настройки системы.

  • Гарантируйте согласованность базы данных с операцией COMMIT или ROLLBACK прежде, чем запрашивать прошлые данные.

  • Нельзя получить прошлые данные из динамического представления производительности (V$). Они содержат текущие данные.

  • Однако, можно выполнять запросы к прошлым данным в статических представлениях словаря данных, таким как *_TABLES.

Используйте Запрос Ретроспекции, Версионный Запрос Ретроспекции или Транзакционный Запрос Ретроспекции для кода SQL, который Вы пишете, для удобства.

Помните, что вся обработка ретроспекции использует текущие настройки сеанса, такие как национальный язык и набор символов, а не настройки, которые были во время выполнения запроса.

Чтобы запрашивать прошлые данные в точное время, используйте SCN. Если Вы используете метку времени, фактическое время запроса может оказаться на 3 секунды ранее чем время, которое Вы указываете. База данных Oracle использует внутренне номера SCN и отображает их на метки времени с гранулярностью в 3 секунды.

Чтобы получить SCN, который надо использовать позже с функцией ретроспекции, можно использовать функцию DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER.

Чтобы вычислить или получить прошлый момент времени для использования в запросе, используйте возвращаемое функцией значение в качестве метки времени или параметра SCN. Например, добавьте или вычтите значение INTERVAL из значения функции SYSTIMESTAMP.

Чтобы гарантировать согласованность базы данных, всегда выполняйте операцию COMMIT или ROLLBACK прежде, чем запрашивать прошлые данные.

Нельзя получить прошлые данные из динамического представления производительности (V$). Запрос к такому представлению всегда возвращает текущие данные. Однако, можно выполнять запросы прошлых данных к статическим представлениям словаря данных, таким как * _TABLES.

Просмотр Архивов Данных Ретроспекции

Просмотр результатов:

Ограничения и Советы по использованию Total Recall

Можно использовать динамические представления словаря данных, чтобы просматривать отслеживаемые таблицы и метаданные Архива Данных Ретроспекции. Чтобы получить доступ к представлениям USER_FLASHBACK_*, у Вас должны быть табличные привилегии владения. Чтобы просматривать представления DBA_FLASHBACK_*, Вы нуждаетесь в привилегиях SYSDBA.

Для получения дополнительной информации см. Advanced Application Developer's Guide and the PL/SQL Packages and Types Reference.

Далее: Контроль Базы данных Ретроспекции

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)