1. Создание табличного пространства под архив:
CREATE TABLESPACE FLASH_ARCH_TS datafile
SIZE 10M AUTOEXTEND ON NEXT 100M;
2. Создание архива с периодом хранения год:
CREATE FLASHBACK ARCHIVE FLASH_ARCH TABLESPACE FLASH_ARCH_TS
RETENTION 1 YEAR;
3. Выдача прав для использования архива:
GRANT FLASHBACK ARCHIVE ON FLASH_ARCH TO DBAX;
ALTER FLASHBACK ARCHIVE FLASH_ARCH SET DEFAULT;
4. Включение архива для новой таблицы:
CREATE TABLE FB_TEST (
id NUMBER,
text VARCHAR2(50)
)
FLASHBACK ARCHIVE [FLASH ARCH];
или
ALTER TABLE FB_TEST FLASHBACK ARCHIVE [FLASH_ARCH];
для уже существующей таблицы.
5. Тест. Пробуем вставить данные в таблицу, затем убеждается, что 5 секунда назад их не было.
insert into FB_TEST values(1,'test');
commit;
select * from FB_TEST AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '5' second);
no rows selected
6. Изменение структуры
alter table FB_TEST add (text2 varchar2(20));
alter table FB_TEST drop column text;
select * from test_tab_1 as of timestamp (sysdate - 5/24/60/60);
ID TEXT2 D_3620339_TEXT
1
7. Просмотр истории изменений:
SELECT versions_startscn, versions_starttime,
versions_endscn, versions_endtime,
versions_xid, versions_operation,
a.*
FROM FB_TEST
VERSIONS BETWEEN TIMESTAMP
TO_TIMESTAMP(sysdate-10/24)
AND TO_TIMESTAMP(sysdate) a;
8. Основная информация по архивам находится в:
dba_flashback_archive_tables
dba_flashback_archive_ts
dba_flashback_archive
9. Удаление:
Таблицы из архива
ALTER TABLE FB_TEST NO FLASHBACK ARCHIVE;
Всего Архива:
DROP FLASHBACK ARCHIVE FLASH_ARCH;
CREATE TABLESPACE FLASH_ARCH_TS datafile
SIZE 10M AUTOEXTEND ON NEXT 100M;
2. Создание архива с периодом хранения год:
CREATE FLASHBACK ARCHIVE FLASH_ARCH TABLESPACE FLASH_ARCH_TS
RETENTION 1 YEAR;
3. Выдача прав для использования архива:
GRANT FLASHBACK ARCHIVE ON FLASH_ARCH TO DBAX;
ALTER FLASHBACK ARCHIVE FLASH_ARCH SET DEFAULT;
4. Включение архива для новой таблицы:
CREATE TABLE FB_TEST (
id NUMBER,
text VARCHAR2(50)
)
FLASHBACK ARCHIVE [FLASH ARCH];
или
ALTER TABLE FB_TEST FLASHBACK ARCHIVE [FLASH_ARCH];
для уже существующей таблицы.
5. Тест. Пробуем вставить данные в таблицу, затем убеждается, что 5 секунда назад их не было.
insert into FB_TEST values(1,'test');
commit;
select * from FB_TEST AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '5' second);
no rows selected
6. Изменение структуры
alter table FB_TEST add (text2 varchar2(20));
alter table FB_TEST drop column text;
select * from test_tab_1 as of timestamp (sysdate - 5/24/60/60);
ID TEXT2 D_3620339_TEXT
1
Отображена как новая колонка, так и удаленная
7. Просмотр истории изменений:
SELECT versions_startscn, versions_starttime,
versions_endscn, versions_endtime,
versions_xid, versions_operation,
a.*
FROM FB_TEST
VERSIONS BETWEEN TIMESTAMP
TO_TIMESTAMP(sysdate-10/24)
AND TO_TIMESTAMP(sysdate) a;
8. Основная информация по архивам находится в:
dba_flashback_archive_tables
dba_flashback_archive_ts
dba_flashback_archive
9. Удаление:
Таблицы из архива
ALTER TABLE FB_TEST NO FLASHBACK ARCHIVE;
Всего Архива:
DROP FLASHBACK ARCHIVE FLASH_ARCH;
В версии 11gR2 большинство ограничений на проведение DDL (что были в 10й версии) были устранено:
Сейчас можно:
- Добавлять, удалять, модифицировать колонки.
- Удалять или выполнять truncate для партиций.
- Переименовывать или выполнять truncate для таблиц.
- Добавлять, удалять или переименовывать constraints.
Если какие либо DDL не проходят, требуется исполнить DISASSOCIATE_FBA, а после проведения требуемой операции REASSOCIATE_FBA из пакета DBMS_FLASHBACK_ARCHIVE.
Комментарии
Отправить комментарий