--세션 레벨에서 리사이클빈 기능의 활성화, 비활성화(기본은 Enabled 이다) --alter session, alter system 명령으로 가능하며 기능이 꺼져있는 경우 테이블 삭제시 복구 불가능하다. SQL> alter session set recyclebin = off; SQL> alter session set recyclebin = on; --리사이클빈은 아래 명령으로 확인 가능하다. SQL> select object_name, original_name from recyclebin; OBJECT_NAME ORIGINAL_NAME ------------------------------ -------------------------------- BIN$Taaxs2vjQAS14g+08tU/dg==$0 SALES ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- SALES BIN$Taaxs2vjQAS14g+08tU/dg==$0 TABLE 2014-09-10:12:45:02 --DROP TABLE 명령어 사용시 뒤부분에 PURGE하고 하면 테이블은 영구히 삭제되며 리사이클 빈으로 이동되지 않는다. SQL> create table t1 ( id number); ORA-04043: t1 객체는 존재하지 않습니다. ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- T1 BIN$TcAMYpDbS8SAUlBQ8kfwVQ==$0 TABLE 2014-09-10:13:30:49 -- flashback table명령어로 복구 SQL> flashback table t1 to before drop; -- purge 옵션으로 drop하면 리사이클빈에 저장되지 않는다. SQL> drop table t1 purge; SQL> -- T1 테이블을 리사이클빈에서 영구히 삭제하려면 아래처럼 purge를 사용한다. SQL> -- 리사이클빈 전체를 purge하면 현재 USER의 리사이클빈이 삭제된다. SQL> flashback table t1 to before drop; flashback table t1 to before drop ORA-38305: 객체가 RECYCLE BIN에 없음 SQL> create table t1 ( id number); SQL> create table t2 ( id number); SQL> -- 현재 테이블스페이스는 USERS이다. SQL> select default_tablespace from user_users; ------------------------------ SQL> purge tablespace users; SQL> purge tablespace users user scott; |
댓글 없음:
댓글 쓰기