티스토리 뷰

Oracle/Oracle-Admin

오라클의 flashback 기능

니플하임_ 2007.01.30 13:37

10g 휴지통 기능 (Flashback Drop)

참조: http://www.orafaq.com/articles/archives/000038.htm

오라클 10g부터 '휴지통(recyclebin)'이라는 것이 존재한다.
이전 버전에서 drop명령이 해당 객체를 바로 삭제한 것에 반해, 이제는 삭제된 객체들는 휴지통에 들어가게 된다.
따라서, 휴지통에 들어있는 객체들은 어느때나 다시 복구될 수 있다.
이를 Flashback Drop이라 하는데, 이제 더이상 point-in-time recovery는 필요없게 될 것이다.

휴지통: drop된 DB객체들을 아래의 상황이전까지 보유한다.
- purse명령으로 영구히 삭제
- undrop명령으로 drop된 객체를 복구
- 테이블스페이스내 (휴지통의) 공간이 부족할때
- 테이블스페이스가 extend될때

휴지통에 들어있는 객체들 보기

user_recyclebin
dba_recyclebin

휴지통 비우기

purge recyclebin; 사용자의 휴지통 비우기
purge dba_recyclebin; 휴지통내의 모든 놈들 비우기
purge tablespace users; users테이블스페이스의 휴지통 비우기
purge table "휴지통내의 이름" 휴지통의 하나의 객체만 제거시

휴지통의 객체 복구

flashback table 휴지통내의 이름 to before drop;

휴지통에 넣지 않고 drop

sql> drop table 테이블명 purge;

만일 휴지통에 들어있는 객체에 대해 drop을 수행하면 아래와 같은 에러를 뱉는다.

SQL> drop table "BIN$biebYQhZRLmp9LlnMAD1VQ==$0";
drop table "BIN$biebYQhZRLmp9LlnMAD1VQ==$0"
* 1행에 오류: ORA-38301: 휴지통에 있는 객체에 대해 DDL/DML을 수행할 수 없음

실전연습

SQL> create table aa(aa integer);
SQL> drop table aa;
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
---------------------------------------- -------------- ----------
BIN$biebYQhZRLmp9LlnMAD1VQ==$0 TABLE  

SQL> show recyclebin 
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
AA BIN$biebYQhZRLmp9LlnMAD1VQ==$0 TABLE 2004-11-23:18:13:00

SQL> purge recyclebin;
SQL> show recyclebin
SQL> select * from tab;
선택된 레코드가 없습니다.

휴지통에 존재하는 객체를 제거

휴지통내의 객체 복구

SQL> show recyclebin
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
AA               BIN$VPaE9OG4Qwa+KC0MesYKqw==$0 TABLE        2004-11-23:18:49:00

SQL> flashback table "BIN$VPaE9OG4Qwa+KC0MesYKqw==$0" to before drop;
플래시백이 완료되었습니다.

SQL> select * from tab;
TNAME                                    TABTYPE         CLUSTERID
---------------------------------------- -------------- ----------
AA                                       TABLE

댓글
댓글쓰기 폼