,

Использование RECYCLE BIN в ORACLE DB

вторник, 9 июня 2009 г. Оставить комментарий

В 10 версии добавилась возможность востанавливать удаленные таблицы и индексы.

Для того что бы включить\выключить корзину:



-- Отключить корзину для сессии
ALTER SESSION SET RECYCLEBIN=OFF;
-- Отключить корзину
ALTER SYSTEM SET RECYCLEBIN=OFF SCOPE=SPFILE;

-- Включить корзину для сессии
ALTER SESSION SET RECYCLEBIN=ON;
-- Включить корзину
ALTER SYSTEM SET RECYCLEBIN=ON SCOPE=SPFILE;



По умолчанию корзина включена.

Чтобы посмотреть удаленные объеты можно воспользовать командой:


-- выбор удаленных объектов пользователя
select *
from user_recyclebin;
-- выбор всех удаленных объектов
select *
from dba_recyclebin;


Чтобы удалить объеты из корзины:


-- удалить все реинкарнации table1 из корзины
purge table table1;
-- удалить table1 из корзины по системному имени
purge table "BIN$0Vq5kNlvTS6G/uyKOlzdAw==$0";
-- удалить все реинкарнации index1 из корзины
purge table table1;
-- удалить index1 из корзины по системному имени
purge table "BIN$0Vq5kNlvSD6G/uyKOlzdAw==$0";
-- удалить все объекты пользователя "FK" из тайблспейса ts_fk.
purge tablespace ts_fk user fk;
-- удалить все объекты из тайблспейса ts_fk.
purge tablespace ts_fk;
-- удалить все объекты из корзины текущего пользователя
purge recyclebin;
-- удалить все объекты из корзины, включая системные объеткты
purge dba_recyclebin;


Подробнее о команде PURGE можно посмотреть здесь: Oracle® Database SQL Reference 10g Release 2 (10.2) PURGE

Для восстановления удаленных таблиц нужно воспользоваться командами:


-- востановить последению удаленную версию table1
flashback table table1 to before drop;
-- востановить УКАЗАННУЮ удаленнную версию table1
flashback table "BIN$CxaooGNESZa4GThzDSX5SQ==$0" to before drop;



Подробнее о корзине можно почитать тут: Using Oracle's recycle bin

0 коммент. »

Оставьте Ваш комментарий