Database
[ORACLE]FLASH BACK을 이용한 데이터복구
애플자라
2014. 10. 29. 14:31
반응형
오라클을 이용하다면 보면 의도치 않게 데이터를 삭제하거나 변경을 하고 커밋을 해버리는 경우가 종종 발생하는데요.
이런 경우 데이터를 COMMIT을 한지 얼마 안 되었거나 메모리를 넉넉하게 잡아놓은 경우 FLASHBACK 기술을 이용해서 데이터 복원이 가능합니다.
1. 먼제 임시 테이블과 데이터를 생성합니다.
2. 데이터를 삭제하고 COMMIT을 합니다.
3. FLASHBACK에 데이터가 존재하는 확인합니다.
본 포스팅에서 사용할 명령어는 AS OF TABLE 입니다. 자세히 기술하면 다음과 같습니다.
SELECT * FROM TEMP_TABLE
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '8' MINUTE); 여기에서 '8'은 몇분전에 데이터를 조회할지를 표시하는 것으로 본 포스팅에서 사용된 쿼리는 8번 데이터를 조회한다는 뜻입니다. 여기서 보여줄 수 있는 데이터의 인터벌은 시스템 설정 및 운영에 따라 달라질 수 있습니다.
4. 데이터가 조회가 된다면 원래있던 테이블에 새롭게 INSERT 하는 방법 등으로 데이터를 복구 할 수 있습니다.
SELECT * FROM NEWYN_UPDATE_TRG01_LOG
AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '8' MINUTE)
SELECT * FROM LAW_OP_FUND
AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '1575' MINUTE)
출처 - http://hothobbang.tistory.com/63
반응형