반응형
오라클에서 DELETE나 UPDATE 후에 COMMIT을 잘못할때가 있습니다.
그럴때에는 아래처럼 대처해주면됩니다.
1. DB 설정 확인
- 오라클 관리자로 커맨드 접속
- SHOW PARAMETER UNDO
여기서 undo_retention 은 update나 delete가 아닌 commit을 하였을때부터 경과한 초까지 저장한다는 뜻이다.
예를 들어 900 / 60 = 15분 이다.
이 시간은 alter system set undo_retintion = 1800 으로 변경이 가능하다.
2. 복구하기
- 15분 전의 데이터 조회하기 (원하는 시간으로 바꿔서 조회가 가능하다)
SELECT *
FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE)
- 현재 테이블 백업 (모든 작업에 백업은 필수입니다!!!)
- DELETE 테이블명
- INSERT INTO 테이블명
SELECT *
FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE)
이렇게 하면 끝입니다!
데이터 정상적으로 복구됐는지 확인만 더 해주시면 됩니다.
반응형
'Database' 카테고리의 다른 글
Oracle 전체 SID 목록 조회 (0) | 2019.06.03 |
---|---|
오라클 테이블 DROP 후 복구하기 (1) | 2019.02.14 |
오라클 SET UNUSED (0) | 2019.01.25 |
오라클 락 조회 및 해제 방법 (0) | 2019.01.24 |
MySQL 정규식 한글, 영문, 특문, 숫자 제거 (REGEXP_REPLACE) (0) | 2018.12.05 |
댓글