티스토리 뷰

ORACLE DROP TABLE 명령으로 삭제한 테이블 복구하기

👉 Oracle은 10g 부터 휴지통(Recyclebin)을 제공

👉 DROP TABLE 명령으로 삭제된 테이블은 Recyclebin에 저장되며 복구가 가능


1. Recyclebin이란

👉 Oracle 10g부터 휴지통(Recyclebin) 이라는 것이 존재하고 이전 버전에서 DROP 명령이 해당 객체를 바로 삭제한 것에 반해, 이제는 삭제된 객체들는 휴지통에 들어가게 된다.

👉 따라서, 휴지통에 들어있는 객체들은 어느때나(휴지통이 비워지기 전까지는) 복구될 수 있다.

👉 Oracle의 Recyclebin에 있는 Objects는 영구히 제거되기 전까지는 Disk상에서 공간을 차지하기 때문에, DROP 한 만큼 User에게 할당된 Quota에 여유가 생기거나 하지 없습니다.

👉 Recyclebin은 Schema 및 Tablespace에 종속되어 있기 때문에, 어떤 Schema가 Drop될 때에, 그 Schema의 Recyclebin도 깨끗하게 Clear됩니다.

👉 어떤 Rablespace가 Drop되는 경우, 해당 Tablespace상에서 Create된 후 Drop되어 Recyclebin에 저장되어 있던 Objects들도 깨끗하게 Clear됩니다.

2. Recyclebin 기능 활성화

ALTER SESSION SET RECYCLEBIN=ON; 👈 Recyclebin 기능 활성화
ALTER SESSION SET RECYCLEBIN=OFF; 👈 Recyclebin 기능 비활성화

3. Recyclebin 조회

👉 DROP TABLE과 같이 DDL 명령으로 삭제된 정보를 조회할 수 있으며 ORIGINAL_NAME과 OPERATION을 활용하여 복구가 가능

SELECT * 
FROM RECYCLEBIN;

4. Recyclebin 비우기

PURGE RECYCLEBIN

5. DROP 테이블 복구하기

FLASHBACK TABLE 테이블명 TO BEFORE DROP

6. Recyclebin에 저장하지 않고 Table Drop 하기(Windows의 Shift + Delete)

👉 많은 양의 데이터를 지울때 Recyclebin이 Full 될 수있으니 아래와 같이 사용

DROP TABLE 테이블명 PURGE

7. PURGE 없이 테이블 삭제했을 경우 완전히 지우기

PURGE TABLE 테이블명

참고자료

Flashback Drop (Recycle Bin)에 대해서…

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함