새로 생성한 데이터베이스에 여러명의 개발자가 달라붙어서 작업을 하다보니...
어느새 이상한 찌꺼기로 보이는 것들이 생기곤 한다.
sql> select * from tab;
...
...
BIN$+JhRwRSHQRm8CPHbIPcAhg==$0
BIN$+dyK/iSeSm2xC63JjCCnWQ==$0
BIN$+iZrUVW+QK6GJf6AU54nDQ==$0
...
이런 정상적이지 않은 놈들이 보인다.
토드 스키마브라우져에서 뒤져보니
My Schema > Constrants 에 들어있는 놈들이다.
자세히 보니 이미 드랍된 테이블의 인덱스들 인듯
drop를 시도하면...
ORA-38301: 휴지통에 있는 객체에 대해 DDL/DML을 수행할 수 없음
이라고 나온다... 웬 휴지통 -.,ㅡa 이거 뭥미...
결국 ORA-38301로 검색을 해보니
오라클 10g에서는 휴지통(recyclebin) 이라는 것이 존재하는데
drop 명령으로 삭제한 객체들이 바로 삭제되지 않고 여기에 담겨있다고 한다.
휴지통에 들어있는 객체들은 아래의 상황 전까지 휴지통에 보관된다고 한다.
- 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
drop table 테이블명 purge;
'Database > ORACLE' 카테고리의 다른 글
WS1-2-ch18. Data Pump (expdp/impdp) overview (0) | 2010.02.01 |
---|---|
Grant 관련 상세 설명 (0) | 2010.01.25 |
sqlplus 환경 설정 (0) | 2010.01.08 |
Partition Table (0) | 2009.12.29 |
ORA-00439: feature not enabled: Partitioning (사용 가능한 기능이 아닙니다. Partitioning) (0) | 2009.12.28 |