ORACLE

 

 

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분안의 데이터를 찾을 수 있음

 

 

 

 

 

 

 

 

 

oracle

 

about author

PHRASE

Level 60  머나먼나라

어제가 다르고 오늘이 다르다 , 변화하는 속도가 매우 빠름을 이르는 말.

댓글 ( 4)

댓글 남기기

작성