* Flashback테이블 : Oracle에서 Table을 Drop했을때 바로 삭제 되는 것이 아니라, Flashback테이블에 남게 된다.
이는 Oracle Flashback Technologies의 하나이다.
* 10g부터 가능한것으로 보이며, 9i는 과거 시점부터 데이터는 볼수 있지만 테이블을 즉시 되살리수는 없다고 합니다.
1. 삭제된 테이블 확인.
show recyclebin;
* 해당 명령을 실행 시키면, 삭제되기전의 테이블 명과 삭제후 변환된 테이블명을 모두 확인 가능하며, 언제 삭제되었는지도 확인이 가능하다. Object가 삭제되면 "BIN$"로 시작되는 임의의 명으로 변경이 된다.
2. 테이블 되살리기
FLASHBACK TABLE [테이블명] TO BEFORE DROP;
3-1. 플래쉬백으로 저장된 테이블 전부 삭제[범위는 해당 계정의 플래쉬백이 됨].
PURGE RECYCLEBIN;
3-1-1. DBA권한으로 DB의 플래쉬백을 모두 비우기.
PURGE DBA_RECYCLEBIN;
3-2. 테이블 DROP시 플래쉬백을 거치지 않고, 바로 삭제하기.
DROP TABLE [테이블명] PURGE;
3-3. 플래쉬백에 있는 특정 테이블 영구 삭제하기.
PURGE TABLE [테이블명];
3-ETC. 이밖에 INDEX, TABLESPACE도 가능하다. 많은 명령이 있으니 관심이 있다면, ORACLE홈페이지에서 보는것도 괜찮지만, 나의 지론은...쓰지도 않는거 공부해봤자 금방 잊어 먹는다는 것! 여기 까지만 해도 충분히 관리 할수 있다는것! ^^;
* 중요! ORACLE에서 아무리 DROP명령을 써도 테이블 스페이스는 줄어 들지 않는다. 이는 플래쉬백을 거치면어 여전히 테이블 스페이스를 오브젝트가 점유 하고 있기 때문이다. 그러므로 필요 없는 테이블은 플래쉬백에서 비워 주도록 하자!
'DB의 속삭임 > DataBase의 외침' 카테고리의 다른 글
[DB][ORACLE][관리]오라클에서 자주 사용하는 딕셔너리 테이블 (0) | 2013.03.21 |
---|---|
[DB][ORACLE][관리]테이블에 락이 걸린 정보를 확인하는 방법 (0) | 2013.02.25 |
[DB][ORACLE][관리]계정(USER) 생성및 테이블 스페이스(table space) 생성하기 (0) | 2013.02.18 |
[DB][ORACLE][SQL] 테이블 및 컬럼 코멘트 (0) | 2013.02.15 |
[DB][ORACLE][관리]계정 삭제 / 계정 세션 끊기 (0) | 2013.01.24 |