Использование 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 коммент. »
Оставьте Ваш комментарий