티스토리 뷰

EtC

[OrAcLe] 휴지통(?) 비우기

freecatz 2023. 8. 23. 09:41

 

오라클에서 drop 시킨 테이블은 바로 삭제 되어 공간을 반환 하는 것이 아닌, 휴지통으로 옮겨 진다고 합니다.

이렇게 drop 된 테이블이 휴지통으로 이동 되어 남아 있는 경우 flashback 이라는 명령을 통해 다시 복구도 가능 하다고 합니다. flashback 으로 온전히 복구가 되는 것은 아니고 테이블의 일부 제약 조건은 복구가 안된다고 합니다. 

 

 

-- 휴지통이 활성화 되어 있는지 확인

SQL> SHOW PARAMETER RECYCLEBIN;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
recyclebin                           string      on

 

또는 

SQL> SELECT NAME, TYPE, VALUE FROM V$PARAMETER WHERE NAME = 'recyclebin';

 

 

-- 사용자의 휴지통(?) 비우기 라고 한..다.

SQL> SELECT * FROM user_recyclebin;

SQL> purge recyclebin;

 

 

-- SYSDBA 권한으로 실행시 모든 사용자의...휴지통(?)을 비운다고...

SQL> SELECT * FROM dba_recyclebin;

SQL> purge dba_recyclebin;

 

 

-- 테이블 drop 하고 휴지통 에서 복구

SQL> DROP TABLE MY_TABLE_NAME;

SQL> FLASHBACK TABLE MY_TABLE_NAME TO BEFORE DROP;

 

 

-- 테이블 drop 시 휴지통으로 이동 시키지 않기

SQL> DROP TABLE MY_TABLE_NAME PURGE;

 

 

-- 테이블 SHRINK 쿼리 생성 : 결과로 나온 쿼리 실행시 시간이 쬐끔 소요 된다고 함

SQL> SELECT 'ALTER TABLE ' || TB.TABLE_NAME || ' ENABLE ROW MOVEMENT; ALTER TABLE ' || TB.TABLE_NAME || ' SHRINK SPACE; ALTER TABLE ' || TB.TABLE_NAME || ' SHRINK SPACE CASCADE; ALTER TABLE ' || TB.TABLE_NAME || ' DISABLE ROW MOVEMENT;' AS QSTR

FROM USER_TABLES TB

WHERE TB.TABLESPACE_NAME IS NOT NULL

ORDER BY TB.TABLE_NAME ;

 

 

-- 인덱스 리빌드 명렁어 생성 : 결과로 나온 쿼리 실행시 시간이 쬐끔 소요 된다고 함

SQL> SELECT 'ALTER INDEX '|| INDEX_NAME ||' REBUILD;' FROM USER_INDEXES;

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함