자바 웹 개발자가 될거야/DB

[Oracle] 테이블 삭제 및 복구하기 / DROP문

whitz 2021. 12. 14. 15:22

 

< 테이블 삭제하기 >

 

- 테이블 구조, 데이터값, 제약조건 등 존재자체가 없어짐

- Drop문은 DDL이기 때문에 자동으로 commit이 된다. 즉, 엔터치면 바로 저장되기때문에 조심해야함

- Rollback이 소용없음

 

DROP TABLE 테이블명;

 

 

① 휴지통 기능

 

- 최근에 DROP했던 결과를 되살릴 수 있는 작업이 생김

- 휴지통(recyclebin)이 생겨서 실수로 테이블 삭제한 경우 되살릴 수 있음

- 아래의 2가지 방법이 있으니 편한거 쓰면 됨

 

SELECT original_name, operation, droptime
FROM RECYCLEBIN;
show recyclebin

 

휴지통 조회 결과

 

 

② 되돌리기 작업

 

FLASHBACK TABLE 테이블명 TO BEFORE DROP;

 

 

 

③ 완전히 삭제하기

 

- 데이터베이스에 휴지통 기능이 왜 최근에 생겼냐 ?

  · 보안때문이다. 중요 데이터를 삭제해도 휴지통에 정보가 있으니 유출 위험이 있다

- 따라서 이런 위험을 대비하기 위해 휴지통을 거치지 않고 테이블 삭제하는 방법이 있다

 

DROP TABLE 테이블명 PURGE;