sqlplus 에서 실행 가능(토드에서는 안됨, SQL Developer 가능)
sql>show parameter undo;
undo_retention : delete, update 후에 COMMIT 을 했을 때부터 속성값의 초 까지는 오라클에서 임시로
저장한 데이터로 복구할 수 있음
DEFAULT 속성값은 '900' 으로 900/60초 =15분
COMMIT 후 15분 이내에는 데이터를 복구 할 수 있음.
그 시간을 25분 (15000초)으로 늘리려면
SQL> show parameter undo;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
undo_management string
AUTO
undo_retention integer
900
undo_tablespace string
UNDOTBS1
SQL> alter system set undo_retention =1500;
* 복구 방법
- 데이터를 삭제하고 커밋한 경우
create table member as select * from book_table;
delete from member where id=1;
delete from member;
commit;
-- 데이터 복구
=> 삭제된 데이터를 복구 할 수 있는지 확인
-- 최근 15분 이내에 삭제된 레코드 조회
select * from member as of timestamp(systimestamp-interval '15' minute) where id ='kim';
=>복구
-- 최근 15분 이내에 삭제된 레코드 복구
insert into member select * from member as of timestamp(systimestamp-interval '15' minute) where id ='kim';
commit;
-----
=>테이블 전체 복구 먼저 복구 할수 있는지 데이터 확인
select * from member as of timestamp(systimestamp-interval '15' minute) where id like '%' ;
=>복구
insert into member select * from member as of timestamp(systimestamp-interval '15' minute) where id like '%' ;
commit;
삭제하고 커밋한지 15분안의 데이터를 찾을 수 있음
댓글 ( 4)
댓글 남기기