티스토리 뷰

Database/Oracle

Oracle 10g - Recycle Bin

데브포유 2009. 12. 24. 17:04
반응형

Oracle 10g부터 Recycle Bin 즉 휴지통이란 개념이 생겼다고 한다.
Drop으로 제거된 테이블이 완전히 삭제되지 않고 Recycle Bin에 저장되며
필요시 다식 복원할 수도 있다고 합니다.(아직 테스트해 보지 못함)

그럼 활용방법을 알아 보죠.
1. Drop시 테이블을 완전히 삭제하고 싶은 경우. 윈도우에서 shift + del키 누르면 휴지통으로 가지않고 삭제 되죠. 비슷한 기능으로 보시면 될듯.
SQL> drop table 테이블명 purge;

2. Recycle Bin을 비울 경우
SQL> purge recyclebin;

3. Recycle Bin의 내용을 확인 할 경우.
SQL> show recyclebin;

4. Recycle Bin의 객체를 복구할 경우
SQL> flashback table 테이블명 to before drop;

그럼 drop이 아닌 delete 후 commit까지 한 데이터는 어떻게 할까?
의문이 생겼다.
그래서 찾아보았다.

INSERT INTO 테이블
SELECT *
FROM 테이블
AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '15' MINUTE);

// whare 절을 주면 조건 복구도 가능.



위 쿼리는 현재시간부터 15분 이전의 데이터를 모두 복구하라는 거란다.
이것 또한 테스트 해봐야 겠다.

반응형