Эта статья предлагается к удалению. |
Flashback Query — ретроспективные запросы, функциональная возможность Oracle RDBMS, позволяющая запрашивать данные так, как если бы это было сделано в заданный момент времени в прошлом.
Существует 2 способа использования ретроспективных запросов:
Примеры «AS OF»:
SELECT * FROM USERS AS OF TIMESTAMP
TO_TIMESTAMP('01-JAN-07 10:00:00','DD-MON-YY HH24: MI: SS');
SELECT * FROM USERS AS OF TIMESTAMP SYSDATE - INTERVAL '1:05' HOUR TO MINUTE;
Пример DBMS_FLASHBACK:
DECLARE
CURSOR c IS SELECT * FROM users;
user c%ROWTYPE;
BEGIN
DBMS_FLASHBACK.ENABLE_AT_TIME('01-JAN-07 10:00:00');
OPEN c;
DBMS_FLASHBACK.DISABLE;
LOOP
FETCH c INTO user;
EXIT WHEN c%NOTFOUND;
END LOOP;
CLOSE c;
END;
Для реализации возможности ретроспективных запросов Oracle RDBMS использует сегмент отката (то есть структуру данных, позволяющую сохранять данные о выполняемых изменениях для последующей отмены транзакций). Параметр UNDO_RETENTION конфигурационного файла init.ora определяет как долго данные о сделанных изменениях будут храниться в сегменте отката.
Возможность использования ретроспективных запросов Flashback Query стала доступна начиная с Oracle 10.1.
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .