[SQL] 100. 실수로 지운 데이터 복구하기2

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


[기본 옵션]

-- AUTOCOMMIT 끄기
SET AUTOCOMMIT OFF;

-- 날짜 출력 포맷 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'RRRR-MM-DD';

[예시]

테이블을 과거 시점으로 되돌려 보자.

테이블을 플래쉬백 하려면 먼저 플래쉬백이 가능한 상태로 변경 하여야 한다.

다음과 같이 설정한다.

-- 테이블을 플래쉬백 가능한 상태로 설정
ALTER TABLE EMP ENABLE ROW MOVEMENT;

설정이 잘 적용되었는지는 다음과 같이 확인 할 수 있다.

-- 설정 적용 확인
SELECT ROW_MOVEMENT
FROM USER_TABLES
WHERE TABLE_NAME = 'EMP';

[결과]

ROW_MOVEMENT
ENABLED

테이블을 10분 전으로 되돌려보자.

직접 시점을 적어도 가능하지만 플래쉬백할 수 있는 골든 타임은 15분 정도이다.

-- 테이블을 10분 전으로 되돌리기
FLASHBACK TABLE EMP
TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE(2));

-- 특정 시점으로 되돌리기
-- FLASHBACK TABLE EMP
-- TO TIMESTAMP TO_TIMESTAMP('2021/06/30 23:10:00', 'RRRR-MM-DD HH24:MI:SS');

Tags:

Categories:

Updated:

Leave a comment