새로 생성한 데이터베이스에 여러명의 개발자가 달라붙어서 작업을 하다보니...
어느새 이상한 찌꺼기로 보이는것들이 생기곤 한다.
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] 테이블스페이스 늘리기 (0) | 2009.03.12 |
---|---|
[Oracle 10g] Oracle - drop table, truncate table (0) | 2008.11.20 |
[Oracle] ''&'' 입력하기 (0) | 2008.02.19 |
[Toad] 에디팅시 () 부분이 반전 제거 (0) | 2008.02.19 |
[Oracle] Sequence를 사용하지 않고 Hint를 사용하여 일렬번호를 생성하는법 (0) | 2007.10.14 |