[ORACLE] delete or update 후 commit 한 데이터 복구하기
2019. 8. 6. 15:05ㆍ개발나들이/database
일단 데이터를 복구하기 전에 기본적인 설정값을 확인합니다.
oracle을 cmd 창으로 열고 sqlplus 계정명/비밀번호 을 통해 관리자 계정으로 접속합니다. 이후 cmd 창에
SHOW PARAMETER UNDO;
을 입력하면 undo_management, undo_retention , undo_tablespace 총 3가지 항목이 조회됩니다.
이 중에서 신경써야 할 것은 undo_retention 값입니다. 이 항목이 update나 delete 후 commit을 했을 때부터 value 값에 따라 데이터를 임시
로 저장하게끔 해줍니다.
undo_retention 의 value 는 기본 값은 900 이고 이는 15분입니다. ( 900/60 = 15) 저는 이걸 1500으로 바꿔놓았네요.
value 값 변경방법은 ALTER SYSTEM SET UNDO_RETENTION = 값 입니다.
이렇게 셋팅값을 먼저 확인한 이후부턴 다음과 같은 방식으로 delete나 update 된 데이터를 조회할 수 있습니다.
SELECT * FROM TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE)
이를 활용하여 select insert 등의 방식으로 commit 이후의 데이터를 복구할 수 있습니다.
'개발나들이 > database' 카테고리의 다른 글
[ORACLE] 오라클 사용자 생성 및 권한주기 (0) | 2019.12.19 |
---|---|
[ORACLE] ORA-12638 신용검색 실패 에러 (0) | 2019.07.19 |
[MSSQL] 로그 파일 사이즈 줄이기 (0) | 2019.06.08 |
[ORACLE] ORA-29881: failed to validate indextype (0) | 2019.06.07 |
[MSSQL] mssql 에서 hint 사용하기 (3) | 2019.06.07 |