Вы здесь

FLASH

Grant flashback privileges

Grant flashback privileges to users, roles, or applications that need to use flashback features, as follows:
 
  • DBMS_FLASHBACK package - Grant EXECUTE privilege on DBMS_FLASHBACK to provide access to the features in this package.
  • Flashback Query and Flashback Version Query - Grant FLASHBACK and SELECT privileges on specific objects to be accessed during queries, or grant the FLASHBACK ANY TABLE privilege to allow queries on all tables.
  • Flashback Transaction Query - Grant the SELECT ANY TRANSACTION privilege.

Популярно о Supplemental Logging

Если достаточно просто понять для чего Supplemental Logging нужен, то вопросы об условном и обязательном журналировании, объеме дополнительно генерируемого потока журнальных данных и другие более тонкие технические вопросы всегда вызывают дополнительные вопросы.

Кроме того, еще и сам Oracle не так глубоко описывает это влияние, а если и описывает то в разных местах документации. Теоретическую информацию о Supplemental Logging еще можно найти в блогах и на металинке, но с практической информацией все сложно.

Flashback Data Archive

Flashback Data archive is one of the Oracle 11g feature (Oracle Total Recall).

A flashback data archive это логический контейнер для хранения исторической информации. Хранится в одном или более тейблспейсе и хранит историю одной или более таблиц.

Retention Period :

Администратор создает flashback data archive с именем fla1, which uses up to unlimited of the tablespace and whose data will be retained for one years. If you want to set up your database so that information in the fla1 is automatically deleted, the day after 1 years is complete.

Архив ретроспективных данных (Flashback Data Archive)

В Oracle Database 11g функциональность Flashback Data Archive (архивирование ретроспективных данных) совмещает лучшее из двух миров: простоту и мощь ретроспективных запросов, которые не зависят от скоротечной памяти типа undo (отката). Это потому, что Flashback Data Archive записывает изменения в место более длительного хранения, в область Flashback Recovery Area.

Пример запроса Flashback Version Query

Вывести все значения поля salary на протяжении какого-то периода времени.

SELECT salary
FROM employees3
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
WHERE employee_id=107;

Узнать время, когда произошло изменение данных

SELECT versions_starttime "START_DATE", versions_endtime "END_DATE" , salary
FROM employess
VERSIONS BETWEEN SCN NIMVALUE AND MAXVALUE
WHERE last_name = 'Lorentz';

Flashback Query — ретроспективные запросы Oracle

В Oracle есть интересная возможность - извлекать данные по состоянию на заданное время в прошлом.
Эта технология называется Flashback Query. Давайте рассмотрим пример.

--создаем тестовую таблицу
create table tTest
(
id number,
value varchar2(100)
);
--вставляем строку:
insert into tTest(id,value) values(1,'oldValue');
commit;
--смотрим, что получилось:
select * from tTest;
--вот, что в таблице:
Id Value
1 oldValue

Эксперименты с flash

create table a as select * from v$instance;
insert into a select * from v$instance;
commit;
insert into a select * from v$instance;
commit;
insert into a select * from v$instance;
commit;

SELECT to_char(START_SCN),to_char(START_TIMESTAMP,'dd-mm-yyyy mi:hh24'), to_char(COMMIT_SCN),to_char(COMMIT_TIMESTAMP,'dd-mm-yyyy mi:hh24'),
OPERATION FROM flashback_transaction_query where TABLE_NAME='A' order by 4;

Включить режим работы FLASH BACK

FlashBack бывает полезен, когда нужно откатить изменения или посмотреть предыдущее состояние объектов в базе данных. Как следствие растет нагрузка на сервер, т.к. приходится хранить дополнительную информацию.

$ sqlplus / as sysdba

SQL> shutdown immediate;
SQL> startup mount exclusive;
SQL> alter database flashback on;
SQL> alter database open;

SQL> select flashback_on from v$database;

FLASHBACK_ON ------------------ YES

создание FlashBack

2-1. Создание флэш-области
Выключение параметров log_archive_dest и log_archive_duplex_dest
SQL> alter system set log_archive_duplex_dest = '';

System altered.

SQL> alter system set log_archive_dest = '';

System altered.

Если при изменении параметров выводится ошибка :

Подписка на RSS - FLASH