Leeyebin의 블로그

[ORACLE] COMMIT 후 TIMESTAMP 이용하여 복구하는 방법 본문

프로그래밍/SQL

[ORACLE] COMMIT 후 TIMESTAMP 이용하여 복구하는 방법

안되면될때까지 2017. 3. 6. 15:41

oracle delete 삭제후 commit 했을경우. 바로 복구 가능


아래는 show parameter undo; 를 통해서 알수 있음.


SQL show parameter undo;


NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
undo_management                      string
AUTO
undo_retention                       integer
900
undo_tablespace                      string
UNDOTBS1
SQL


900초 즉 undo 가 15분 디폴트로 설정되있음. 


SELECT *
  FROM 테이블명
       AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '15' MINUTE)


으로 삭제된 데이터 확인가능


INSERT INTO 테이블명
SELECT *
  FROM 테이블명
       AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '15' MINUTE)


하면  15분안에 삭제된 데이터를 다시 insert 할수 있음. 


drop 했을경우는 flashback 명령을 통해 복구가능

FLASHBACK TABLE 테이블명  TO BEFORE DROP;

제약사항 간단하게  테이블이 던자리에 다른 자료가 덮어쓰면 복구 불가능



Comments