오라클&SQL

[오라클(Oracle)]수정,삭제 데이터 복구하기-FLASHBACK

KIKEISINOGI 2020. 5. 12. 13:42

오라클에서는 COMMIT 되어 있는 수정된 데이터(UPDATE)와 삭제 된 데이터(DELETE)의 수정 전, 삭제 전의 데이터를 조회 할 수 있습니다.

초, 분, 시간, 일 단위로 거슬러 올라가서 과거의 데이터를 조회 하는 것입니다.

1. 지우고 싶지 않은 데이터가 삭제 되었을때나 2. 수정된 데이터의 수정전 정보를 알고 싶을 때 매우 유용합니다.

 


10초전 : AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' SECOND) 
10분전 : AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE) 
1시간전 : AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '1' HOUR) 
하루전 : AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '1' DAY)


사용방법은 간단합니다.

TABLE 뒤 AS OF TIMESTAMP 문

SELECT * 

FROM [table] AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' HOUR) 

WHERE [column] = '?'


활용예제를 통해 알아보겠습니다. 

최종수정시간은 저장되어 알고 있지만 그 전에 수정 된 시간을 알고 싶을 때