데이터베이스를 이용하다 보면 실수로 데이터를 삭제하거나, 잘못 업데이트 이후
commit을 한 이후에 데이터를 복구방법으로
ORACLE의 TIMESTAMP를 이용하면 데이터를 복구할 수 있습니다.
TIMESTAMP 사용법
단위는 SECOND, MINUT, HOUR, DAY 로 지정해서 사용할 수 있습니다.
SYSTIMESTAMP에서 설정한 시간을 입력하여 데이터를 보여줍니다.
-- 10초전 데이터 조회
SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' SECOND)
WHERE 컬럼 = 'A'; -- 필요에 따라서 조건문
-- 10분전 데이터 조회
SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE)
-- 3시간전 데이터 조회
SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '3' HOUR)
-- 1일전 데이터 조회
SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '1' DAY)
-- 특정시간 기준으로 데이터 조회
SELECT * FROM 테이블명 AS OF TIMESTAMP(TO_DATE('20200605000000', 'YYYYMMDDHH24MISS'));
TIMESTAMP 데이터 생성, 수정 방법
-- select insert 를 이용하여 삭제된 데이터 처리
INSERT INTO 복구할 테이블명
SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE) where 컬럼명 = '조건';
'DBMS > Oracle' 카테고리의 다른 글
Control file 관리 (0) | 2022.07.04 |
---|---|
DB LINK 생성관리 (0) | 2022.07.04 |
insert select date 이관(Parallel 옵션 이용) (0) | 2022.07.04 |
MS-SQL의 select top N와 같은 ORACLE 쿼리 (0) | 2022.07.04 |
PURGE RECYCLEBIN 휴지통 기능(비우기, 복원, 바로삭제) (0) | 2022.07.04 |