스냅샷 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
업무 할 때는 자주는 아니지만 간혹 다급하게 요청올 때 복원해주면 얼마나 좋아할까요^^
'기술' 카테고리의 다른 글
[기술]티베로(Tibero) 최근 실행한 쿼리 이력 히스토리 확인방법 (4) | 2022.10.26 |
---|---|
한글입력이 안될때 이상하게 한글이 깨질때 (0) | 2022.10.14 |
[Tibero/Oracle]DB 테이블 및 상세정보 추출 (1) | 2022.10.06 |
[Tibero]세션 락 Session Lock / 실행 쿼리 상태 조회 (0) | 2022.10.05 |
[Tibero]잡(Job) 스케줄 깨짐(broken) 모니터링 (0) | 2022.10.05 |