반응형
오라클 작업을 하다보면 실수로 데이터를 삭제하거나 수정하는 경우가 생길 수 있습니다. 이런 경우에는 TIMESTAMP를 사용해서 이전의 데이터를 조회하고 복구할 수 있습니다.
오라클 9i Release 2부터 Flashback이라는 기능이 생긴 후에 Flashback의 사이즈만큼의 데이터를 보관하고 있습니다.
사용하는 방법은 아래와 같습니다.
SELECT *
FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' SECOND);
위의 쿼리를 실행하면 10초 전 데이터를 조회할 수 있습니다. 또한 숫자와 SECOND를 변경해서 본인이 원하는 시간대를 조회할 수 있습니다.
SECOND | 초 |
MINUTE | 분 |
HOUR | 시간 |
DAY | 일 |
특정 시점으로 조회
추상적으로 10초 전, 3일 전을 조회하는 것뿐만아니라 특정 시점을 입력해서 조회할 수도 있습니다.
SELECT *
FROM 테이블명 AS OF TIMESTAMP(TO_DATE('2022-08-25 11:00:25', 'YYYY-MM-DD HH24:MI:SS'))
TIMESTAMP 데이터 생성, 수정하는 방법
-- 삭제된 데이터 INSERT
INSERT INTO 테이블명
SELECT *
FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE)
-- 삭제된 데이터 UPDATE
UPDATE 테이블명
SET 컬럼명 = (SELECT 컬럼명
FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE)
WHERE ···)
반응형
'개발 & 데이터베이스 > DB' 카테고리의 다른 글
오라클 ora-01481: 숫자 형식 모델이 부적합합니다. (0) | 2022.09.11 |
---|---|
오라클 사용자 계정 잠금 해제하는 방법 (ALTER USER) (0) | 2022.09.02 |
오라클 개발 환경 구축하기 (개발 툴 설치 방법) (0) | 2022.08.29 |
오라클 조회 결과 정렬하는 방법 (ORDER BY 절) (0) | 2022.08.28 |
오라클 숫자 천단위 콤마 찍는 방법 2가지 (TO_CHAR 함수) (0) | 2022.08.24 |