Oracle 10g에 들어와서 FLASHBACK TABLE이라는 기능이 생겼는데 기존에 drop table로 엉뚱한 테이블을 날려서 가슴졸인 개발자가 많았나보다(실제로 그런일로 고생하는 사람을 보기도 했다.).
유용한 기능이지만 이런 기능이 있는지 모르는 사람의 경우 table을 drop할때마다 이상한 이름의 테이블이 하나씩 생겨서 당황할 수 도 있을것같다.
table을 drop하면 'BIN$' 로 시작하는 이상한 이름의 테이블이 생기는데 이 테이블을 drop해보면 다음과같은 메시지를 만나게 된다.
오라클에 Recycle Bin이 있었나 하고 찾아봤더니 이게 바로 새로생긴 FLASHBACK TABLE이라는 기능이란다.
show recyclebin명령으로 확인할수가 있는데
MEMBER테이블이 2번 drop되어있고 PICTURES 테이블이 1번 drop되어 있다. 여기서 PICTURES 테이블을 다시 살리고 싶으면
휴지통을 완전히 비우고 싶으면
그리고 다음과 같이하면 휴지통에 가지 않고 바로 삭제된다.
유용한 기능이지만 이런 기능이 있는지 모르는 사람의 경우 table을 drop할때마다 이상한 이름의 테이블이 하나씩 생겨서 당황할 수 도 있을것같다.
table을 drop하면 'BIN$' 로 시작하는 이상한 이름의 테이블이 생기는데 이 테이블을 drop해보면 다음과같은 메시지를 만나게 된다.
ORA-38301: can not perform DDL/DML over objects in Recycle Bin
오라클에 Recycle Bin이 있었나 하고 찾아봤더니 이게 바로 새로생긴 FLASHBACK TABLE이라는 기능이란다.
show recyclebin명령으로 확인할수가 있는데
SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
MEMBER BIN$7ibiCGZXF4PgMOabUJ0qBQ==$0 TABLE 2005-01-21:11:48:19
MEMBER BIN$7hq6upeqF+TgMOabUJ0hlg==$0 TABLE 2005-01-20:21:18:20
PICTURES BIN$7ibiCGZLF4PgMOabUJ0qBQ==$0 TABLE 2005-01-21:11:48:18
MEMBER테이블이 2번 drop되어있고 PICTURES 테이블이 1번 drop되어 있다. 여기서 PICTURES 테이블을 다시 살리고 싶으면
SQL> FLASHBACK TABLE PICTURES TO BEFORE DROP;
FLASHBACK COMPLETE.
휴지통을 완전히 비우고 싶으면
SQL> purge recyclebin;
Recyclebin purged.
그리고 다음과 같이하면 휴지통에 가지 않고 바로 삭제된다.
SQL> drop table PICTURES purge;
[출처] Oracle 10g의 Recycle Bin의 기능에 대해서...|작성자 자췻방