728x90
* 데이터를 실수로 변경 OR 삭제하고 COMMIT 했을 시, 데이터 복구하는 방법
* 기존 데이터 ( SELECT * FROM TEST)
NAME | AGE | ID |
홍길동 | 26 | HONG@TEST.COM |
기존데이터 이름을 실수로 고길동이라고 변경했다고 가정할 경우 테이블을 조회해보면 아래와 같다.
* 변경된 데이터 (SELECT * FROM TEST)
NAME | AGE | ID |
고길동 | 26 | HONG@TEST.COM |
기존데이터 데이터를 확인하고 싶다면 아래와 같이 쿼리를 날리면된다.
//10분전 NAME=홍길동인 데이터 SELECT
SELECT *
FROM test AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE)
WHERE name = '홍길동'
결과
NAME | AGE | ID |
홍길동 | 26 | HONG@TEST.COM |
이후 바뀐 데이터를 비교하여 다시 UPDATE 하면 복구 완료.
특정시점도 가능하다.
SELECT *
FROM test AS OF TIMESTAMP(TO_DATE('2023-05-04 13:10:00', 'YYYY-MM-DD HH24:MI:SS'))
WHERE name = '홍길동';
'DB > SQL' 카테고리의 다른 글
[SQL] INDEX 가공 (0) | 2023.05.10 |
---|---|
[Oracle] SQL SELECT 쿼리 실행 순서 (0) | 2023.05.10 |
[Oracle] 날짜 및 형식 변환(TO_CHAR) (0) | 2023.05.03 |
[MSSQL]사용자 정의 함수Function 만들기 (0) | 2023.04.27 |
[MSSQL] 권한 있는 테이블 조회 (0) | 2023.04.27 |