Oracle Purge 와 drop

3289 단어 Oracle
최근 에 Oacle 에서 이런 이상 한 표 이름 이 나 온 것 을 발 견 했 습 니 다. 인터넷 에서 찾 아 보 니 Oacle10g 의 휴지통 기능 이 었 습 니 다. 시 계 를 완전히 삭제 하지 않 고 휴지통 에 시 계 를 넣 었 습 니 다. 마지막 에 이런 이상 한 표 이름 이 나 타 났 습 니 다.
       :
purge table origenal_tableName;
purge index origenal_indexName;

      ,     SQL  :
SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;


    ,        :
PURGE recyclebin;
           。  。。。

 ,  Table   Recycle   :
drop table tableName purge;
  ,             。
    oracle           ,        oracle10g      ,         ,         ,               。。。。

       :
purge table origenal_tableName;
purge index origenal_indexName;

      ,     SQL  :
SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;


    ,        :
PURGE recyclebin;--         
           。  。。。

 ,  Table   Recycle   :
drop table tableName purge

Purge 와 drop 의 차이 점: Oracle 10g 이 제공 하 는 flashback drop 의 새로운 기능 은 사용자 의 잘못된 작업 복 구 를 가속 화하 기 위해 Oracle 10g 은 flashback drop 기능 을 제공 합 니 다.이전 버 전에 서 는 불완전 회복 을 제외 하고 좋 은 해결 방법 이 없 었 다.Oracle 10g 의 flashback drop 기능 은 현재 데이터베이스 에서 drop 된 대상 을 복원 할 수 있 도록 합 니 다. drop 작업 을 수행 할 때 현재 Oracle 은 실제 삭제 하 는 것 이 아니 라 이 대상 을 자동 으로 휴지통 에 넣 습 니 다.한 대상 의 삭제 에 대해 서 는 간단 한 재 명령 작업 에 불과 하 다.휴지통 이란 삭 제 된 모든 대상 을 저장 하 는 가상 용기 다.휴지통 에서 삭 제 된 대상 은 생 성 할 때 같은 공간 을 차지 합 니 다. 삭 제 된 표 에 대해 서도 조회 할 수 있 고 플래시 백 기능 을 이용 하여 복원 할 수 있 습 니 다. 이것 이 바로 플래시 백 drop 기능 입 니 다.휴지통 안의 관련 정 보 는 recyclebin / user 에서recyclebin/dba_recyclebin 등 보기에 서 가 져 오 거나 SQL * Plus 의 show recyclebin 명령 을 통 해 볼 수 있 습 니 다.
C: > sqlplus / nolog SQLPlus: Release 10.1.0.2.0 - Production on 수요일 10: 09: 32 2005 Copyright© 1982, 2004, Oracle. All rights reserved. SQL> conn tiger/tiger@xe연결 되 었 습 니 다.SQL> select count() from goodsinfo1; COUNT(*)
 38997

SQL> drop table goodsinfo1; 표 가 삭제 되 었 습 니 다.SQL> commit; 제출 완료.SQL> select count() from goodsinfo1; select count () from goods info 1 * 첫 번 째 줄 에 오류 가 발생 했 습 니 다: ORA - 00942: table or view does not exist
아!세상 에!시 계 를 잘못 지 웠 는데 어 떡 하지?아!데이터 베 이 스 를 방금 삭제 하기 전의 시간 으로 되 돌리 면 됩 니 다.안 돼!그럼 다른 조작 도 한꺼번에 반 짝 거 릴 거 야.이제 flashback drop 기능 을 사용 할 수 있 습 니 다.
SQL> show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
GOODSINFO1 BIN$RFG58GsfRheKlVKnWw8KKQ==$0 TABLE 2005-06-01:10:11:03
SQL> FLASHBACK TABLE goodsinfo1 TO BEFORE DROP;
플래시 완성.
SQL> select count() from goodsinfo1; COUNT()
 38997

삭 제 된 시 계 를 보고 돌 아 왔 습 니 다.정말 고 맙 소!
SQL> show recyclebin;
이 대상 들 을 완전히 제거 하려 면 Purge 명령 을 사용 할 수 있 습 니 다. 예 를 들 어 SQL > select count () from goodsinfo 2;COUNT()
 38997

SQL> drop table goodsinfo2; 표 가 삭제 되 었 습 니 다.SQL> commit; 제출 완료.SQL> show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
GOODSINFO2 BIN$BgSuEWMOSLOGZPcIc97O8w==$0 TABLE 2005-06-01:10:13:18 SQL> purge table goodsinfo2; 시계 가 삭제 되 었 습 니 다.SQL> show recyclebin; SQL > Purge recyclebin 을 사용 하면 휴지통 의 모든 대상 을 지 울 수 있 습 니 다.유사 한 우 리 는 Purge user 를 통 해recyclebin 또는 Purge dbarecyclebin 은 서로 다른 휴지통 대상 을 제거 합 니 다.PURGE TABLESPACE TSNAME, PURGE TABLESPACE TSNAME USER USERNAME 명령 을 통 해 휴지통 제 거 를 선택 합 니 다.
ps: 사용자 drop 후 휴지통 에 들 어가 지 않 기 때문에 Purge 를 사용 하지 않 습 니 다.

좋은 웹페이지 즐겨찾기