[oracle] timestamp

2020-03-12

timestamp

  • ORACLE 에서는 FLASHBACK 라는 임시로 저장하는 기능이 있다.
  • Drop table 후 Puerge 를 하게 되면 FlasgBack 를 이용한 데이터 복구가 불가능함.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- 테이블 데이터 복구
SELECT *
FROM [테이블명] AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAL '100' {HOUR : MINUTE : DAY})
WHERE [조회조건]

-- 특정 시간 데이터 복구
SELECT *
FROM [테이블명] AS OF TIMESTAMP TO_TIMESTAMP('2016-11-25 10:39:58', 'YYYY-MM-DD HH24:MI:SS')
WHERE [조회조건]

-- 조회 후 추가
INSERT INTO [table_name]
SELECT *
FROM [테이블명] AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' SECOND)
WHERE [조회조건]

-- 프로시저 복구
SELECT *
FROM DBA_SOURCE AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAL '100' {HOUR : MINUTE : DAY})
WHERE NAME = [프로시져명]