기술

[기술] 오라클 티베로 스냅샷 TIMESTAMP을 이용한 데이타 복원

또리줌마 2022. 10. 8. 01:01
728x90
반응형

스냅샷 TIMESTAMP을 이용한 데이터 복원


잘못 삭제하여 빨리 복원시켜 달라고 하는 경우가 종종 있습니다.

이럴 때 당황하지 말고~
복원하고자 하는 최근 일시로 빨리 조회부터하여 확인하고
다행히 삭제한 데이터가 존재한다면 바로 임시테이블에 복원해서 놓아야 합니다.

그러지 않으면 DBA를 통해 테이블 복원을 요청하거나 아니면 복원이 불가능한 경우도 있습니다.

* 테이블마다 복원가능한 시간이 다를 수 있음
(1~2시내로는 희망이 있었는 듯)



이제 데이타를 삭제해보고 특정 시점의 데이터를 복원 테스트 해 볼까요~

-- 삭제 전 데이타
SELECT * FROM DB_TEST

-- 한건을 삭제시킴
DELETE FROM DB_TEST
WHERE AA = 'A1'

- TIMESTAMP로 삭제하기 최근시점으로 지정하여 조회

SELECT * FROM DB_TEST AS OF TIMESTAMP TO_TIMESTAMP('2022-10-6 18:05:00','YYYY-MM-DD HH24:MI:SS')


SELECT * FROM DB_TEST AS OF TIMESTAMP TO_TIMESTAMP('2022-10-6 18:05:00','YYYY-MM-DD HH24:MI:SS')
WHERE AA = 'A1' <-- 조건 처리도 가능


- 조회한 시점으로 데이터가 없을 경우


- 복원한 데이터를 임시 테이블에 처리

CREATE TABLE ZZ_DB_TEST AS
SELECT * FROM DB_TEST AS OF TIMESTAMP TO_TIMESTAMP('2022-10-6 18:05:00','YYYY-MM-DD HH24:MI:SS')
WHERE AA = 'A1'


-- 임시 테이블에 복원한 데이터 확인
SELECT * FROM ZZ_DB_TEST


업무 할 때는 자주는 아니지만 간혹 다급하게 요청올 때 복원해주면 얼마나 좋아할까요^^