Patrick's 데이터 세상
ORACLE TIMESTAMP를 활용한 데이터 복원 본문
반응형
SMALL
데이터를 운용하다 보면 실수로 DELETE, UPDATE 하는 경우를 종종 겪게 됩니다.
이때 특정 시간 또는 시점으로 되돌릴 수 있는 기능이 Oracle Flashback 기능입니다.
AS OF TIMESTAMP 구문을 활용하여 변경 전 데이터를 복원할 수 있습니다.
■ Flashback을 사용할 수 있는 조건
※ 설정
1. 자동 언두 관리 시스템을 사용해야 합니다.
- UNDO_MANAGEMENT 파라미터를 AUTO로 설정
UNDO_MANAGEMENT = AUTO
2. 이전의 어느 시점까지의 언두(UNDO) 정보를 보유하여 Flashback Query를 수행할 것인지
UNDO_RETENTION 파라미터를 설정해야 합니다.
- ALTER SYSTEM SET UNDO_RETENTION=1200;
설정 확인
- SHOW PARAMETER UNDO;
※ 계정
Flashback 기능을 이용하기 위해서 DBMS_FLASHBACK 패키지에 대한 EXECUTE 권한을
가지고 있어야 합니다.
시스템의 설정, 버퍼의 크기에 따라 복구할 수 있는 시간은 제한적입니다.
(오라클 서버의 메모리 세팅에 따라 달라집니다.)
■ AS OF TIMESTAMP 쿼리 실행
SELECT *
FROM TEST_TABLE // 실행 테이블
AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE) // 분 단위 입력
WHERE ID = '1234'; // 조건
위 쿼리를 실행하면 10분 이전의 데이터가 조회됩니다.
단위는 SECOND, MINUTE, HOUR, DAY로 바꿔 쓸 수 있습니다.
시스템의 설정에 따라 복구할 수 있는 시간은 제한적입니다.
반응형
LIST
'Programming > Oracle' 카테고리의 다른 글
TIMESTAMP 함수를 활용한 레코드 변경 시간 확인 (0) | 2020.06.25 |
---|---|
Query 결과 값이 많을 때 나눠서 반출하는 방법 (0) | 2020.06.24 |
ANALYZE (0) | 2020.06.21 |
오라클 DB LOCK 걸린 개체 확인 & LOCK 해제 (0) | 2020.06.21 |
절차형 SQL (0) | 2020.06.21 |
Comments