>  기사  >  데이터 베이스  >  Oracle 인스턴스 구문 분석 삭제에서 실수로 테이블 데이터를 삭제한 후 복구하는 방법

Oracle 인스턴스 구문 분석 삭제에서 실수로 테이블 데이터를 삭제한 후 복구하는 방법

WBOY
WBOY앞으로
2022-07-25 17:42:493220검색

이 기사에서는 Oracle에 대한 관련 지식을 제공합니다. Oracle 데이터를 사용할 때 실수로 테이블의 데이터가 삭제되어 제출되었습니다. 다음은 Oracle 삭제로 인해 테이블 ​​데이터가 실수로 삭제된 후 복구하는 방법에 대한 소개입니다. 모든 사람에게 도움이 되기를 바랍니다.

Oracle 인스턴스 구문 분석 삭제에서 실수로 테이블 데이터를 삭제한 후 복구하는 방법

추천 튜토리얼: "Oracle Video Tutorial"

시간을 기준으로 복원

이 방법을 사용하려면 삭제 문을 실행하는 데 걸리는 시간을 대략적으로 알아야 합니다.

현재 시스템 시간 쿼리: select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from Dual;select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;

假设在2022-04-02 16:27:11分钟,执行了删除语句
delete from demo ;

2022-04-02 16:27이라고 가정: 11분 후 삭제 문이 실행됩니다.
delete from 데모;

이때 테이블의 데이터를 쿼리할 수 없습니다. 우리는 삭제 실행 시간을 알고 있으며, 1분 앞으로 밀고(삭제 실행 시간은 이전일 수 있으며 작을수록 좋습니다. 이 예는 예로서 1분이 걸립니다) 다음 명령문을 실행합니다

select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');

현재 데모 테이블 테이블에 데이터가 없지만 데모 테이블의 처음 1분 ​​동안의 데이터를 쿼리할 수 있습니다.

복구 1: 이때 plsql 도구의 쿼리 결과 내보내기 기능을 통해 sql 파일을 내보낸 후, 데이터 복구를 위해 sql 파일에 있는 insert 문을 다시 실행하면 됩니다.

복구 2: 데이터 복구를 위해 다음 sql을 실행합니다:

flashback table DEMO to timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');

오류가 보고된 경우 ORA-08189: 행 이동 기능이 활성화되지 않았고 테이블을 플래시백할 수 없습니다.

그런 다음 실행합니다:

alter table DEMO enable row movement;

를 추가한 후 테이블 행 이동 기능은 플래시백 문을 수행합니다. Restore

오류가 보고되면: ORA-08194: 구체화된 뷰에서는 플래시백 테이블 작업이 허용되지 않습니다. 그런 다음 아래 설명된 대로 새 임시 테이블을 생성하여 복원합니다.

복구 3(새 임시 테이블 생성):

새 데모1 테이블을 생성하고 복구해야 할 데이터를 삽입합니다.

create table DEMO1 as select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:30:11',‘yyyy-mm-dd hh24:mi:ss');

demo1 테이블의 데이터를 데모 테이블에 복구

insert into DEMO select * from DEMO1 where not exists (select * from DEMO where DEMO.id=DEMO1.id);

복구 4(복구 기반 on scn):

현재 scn 번호 쿼리

select current_scn from v$database;

scn 번호를 일정량만큼 줄이고 삭제한 데이터를 볼 수 있을 때까지 명령문을 실행합니다.

select * from DEMO as of scn 166937913;

적절한 scn 번호를 사용하여 sql 문을 실행합니다. 데이터 복구를 위한

flashback table DEMO to scn 166937913;
추천 튜토리얼: " Oracle Video Tutorial

》🎜

위 내용은 Oracle 인스턴스 구문 분석 삭제에서 실수로 테이블 데이터를 삭제한 후 복구하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제