Oracle에서 삭제된 테이블 또는 테이블 레코드를 복구하는 방법

Oracle에서 삭제된 테이블 또는 테이블 레코드를 복구하는 방법

기사 분류: 데이터베이스

하나: 테이블 복구

실수로 삭제된 테이블의 경우 PURGE 영구 삭제 옵션을 사용하지      않는 한 Flash Back 영역에서 복구할 가능성이 높습니다. 일반적인 단계는 다음과 같습니다.

1. 플래시백에서 삭제된 테이블 쿼리

    휴지통에서 * 선택

2. 테이블 복구 실행

   flashback table tb to drop before drop, 여기서 tb는 복원하려는 테이블의 이름을 나타냅니다.

2: 테이블 데이터 복구

    실수로 삭제된 테이블 레코드의 경우 truncate 문이 없는 한 트랜잭션 커밋 시간에 따라 복원하도록 선택할 수 있습니다.일반적인 단계는 다음과 같습니다.

     1. 쿼리를 위한 테이블 이름, 트랜잭션 제출 시간 및 UNDO_SQL과 같은 필드를 제공하는 flashback_transaction_query 보기의 첫 번째 쿼리.

     예: select * from flashback_transaction_query where table_name='TEST';
     2. 테이블 레코드 복구 실행

     일반적으로 최초 시간에 따라 질의를 수행하며, 질의문 모드는 select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'), tb는 테이블명을 의미하며, 시간은 특정 시점을 나타냅니다.

      如select * from scott.test as of timestamp to_timestamp('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss');

    데이터가 있는 경우 복구가 매우 간단합니다. 명령문은 flashback table tb to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');

   타임스탬프에 대한 플래시백 테이블 scott.test to_timestamp('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss');

추천

출처blog.csdn.net/s_ongfei/article/details/5996058