이 기사에서는 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 ;
delete from 데모;
이때 테이블의 데이터를 쿼리할 수 없습니다. 우리는 삭제 실행 시간을 알고 있으며, 1분 앞으로 밀고(삭제 실행 시간은 이전일 수 있으며 작을수록 좋습니다. 이 예는 예로서 1분이 걸립니다) 다음 명령문을 실행합니다select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');
flashback table DEMO to timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');
alter table DEMO enable row movement;
create table DEMO1 as select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:30:11',‘yyyy-mm-dd hh24:mi:ss');
insert into DEMO select * from DEMO1 where not exists (select * from DEMO where DEMO.id=DEMO1.id);
select current_scn from v$database;
select * from DEMO as of scn 166937913;
flashback table DEMO to scn 166937913;
위 내용은 Oracle 인스턴스 구문 분석 삭제에서 실수로 테이블 데이터를 삭제한 후 복구하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!