본문 바로가기

데이터베이스

commit 한 데이터의 복구 방법

반응형

sqlplus에서 실행 가능 (토드에서는 안됨)


sql> show parameter undo;


undo_retention : delete, update 후에 COMMIT을 했을 때부터 속성값의 초 까지는 오라클에서 임시로 저장한 데이터로 복구할 수 있음


DEFAULT 속성값은 '900' 으로 900/60초 = 15분


COMMIT 후 15분 이내에는 데이터를 복구 할 수 있음.


그 시간을 25분(1500초)으로 늘리려면


alter system set undo_retention = 1500 ; 



* 복구 방법
- 데이터를 삭제하고 커밋한 경우
create table test
as select * from book_table;


DELETE FROM TEST WHERE id= 1;


COMMIT;


-- 데이터 복구


SELECT * FROM TEST AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE) WHERE ID = 1 ;


삭제하고 커밋한지 15분안의 데이터를 찾을 수 있음


INSERT INTO TEST SELECT * FROM TEST AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE) WHERE ID = 1 ;

반응형

'데이터베이스' 카테고리의 다른 글

특정 조건 만족하는 레코드 얻기.  (0) 2016.07.01
유니온(union)조인(join) 차이점  (0) 2016.06.07