[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');
Leave a comment