[ 테이블 DROP시 휴지통 기능 ]
1. 정의 : 테이블을 삭제 하면 오라클도 휴지통을 만들어 놓았다.
2. oracle 10g부터 존재
3. table을 drop 하면 : [ BIN$H+0On1PSLBbgRACAFyioeA==$0 ] 와 같은 형식의 테이블이 생성된다.
4. 휴지통 비우기
SQL> purge recyclebin; 사용자의 휴지통 비우기
SQL> purge dba_recyclebin; 휴지통내의 모든 놈들 비우기
SQL> purge tablespace users; users테이블스페이스의 휴지통 비우기
SQL> purge table "휴지통내의 이름" ; 휴지통의 하나의 객체만 제거시
6. 휴지통 기능을 enable/disable 상태 확인 및 처리 방법
상태확인 : SQL> SELECT a.ksppinm, b.ksppstvl, b.ksppstdf
FROM x$ksppi a, x$ksppcv b WHERE a.indx = b.indx AND a.ksppinm like '%recycle%'
ORDER BY a.ksppinm;
처리방법 : * 10g Release1 의 경우
SQL> ALTER SYSTEM SET "_recyclebin"=FALSE SCOPE = BOTH;
* 10g Release2 의 경우 (R2는 default 값이 ON 이므로 OFF 로 만들어 버린다.)
SQL> ALTER SESSION SET recyclebin = OFF;
SQL> ALTER SYSTEM SET recyclebin = OFF;
7. 휴지통: drop된 DB객체들을 아래의 상황이전까지 보유한다.
- purge명령으로 영구히 삭제
- undrop명령으로 drop된 객체를 복구
- 테이블스페이스내 (휴지통의) 공간이 부족할때
- 테이블스페이스가 extend될 때
8. 휴지통에 들어있는 객체들 보기
user_recyclebin
dba_recyclebin
9. 휴지통의 객체 복구
SQL> flashback table "휴지통내의 이름" to before drop;
예) SQL>flashback table "BIN$VPaE9OG4Qwa+KC0MesYKqw==$0" to before drop;
10. 휴지통에 넣지 않고 drop
SQL> drop table 테이블명 purge;
11.
'(DB) Oracle > Table' 카테고리의 다른 글
Oracle - Table Foreign Key Stop/Start (0) | 2017.01.21 |
---|---|
Oracle - Table foreign key (0) | 2017.01.21 |
Oracle - Tablespace (0) | 2017.01.21 |
Oracle - Table_및_Index_Size계산 (0) | 2017.01.21 |