백업된 데이터파일로 클론DB를 만들어 완전히 삭제된 테이블을 복구할 수 있다.
- 전체 데이터파일 복구
- DB종료 후 전체 백업을 한다.
- SCOTT 유저로 테이블을 생성하여 데이터를 입력하고 커밋된 시점의 시간을 확인한다.
- 다시 데이터를 입력하고 커밋된 시점의 시간을 확인한다. (입력된 데이터 b까지 복구)
- 아카이브 로그로 쌓일 수 있도록 로그 스위치를 발생신킨다. (resetlogs로 복구하기 때문에 변경된 내용이 아카이브 로그에 없으면 복구가 불가능하다.)
- 테이블을 완전히 삭제한다.
- 기존에 사용하던 파라미터 파일 (PFILE 이용)을 복사하여 클론DB용 파라미터 파일을 생성하고, 클론DB의 컨트롤파일 경로와 DB명을 변경한다.
- 백업된 데이터파일을 클론DB의 경로로 복사한다.
- 클론DB의 컨트롤파일을 생성하기 위한 DDL문을 생성하고 경로를 변경한다.
- ORACLE의 SID를 CLONE으로 변경한다.
- DB에 접속 후 컨트롤파일을 재생성한다.
- 데이터 b 까지 복구하기 위해 시간기반으로 복구한다.
- resetlogs로 DB를 오픈한다.
- 데이터 복구를 확인한다.
- 특정 데이터파일 복구
- 전체 데이터파일이 아닌 drop된 테이블이 저장된 데이터파일만 복구할 때, 컨트롤파일 생성문에서 필수 데이터파일 이외의 파일은 삭제한다.
- DB에 접속 후 컨트롤파일을 재생성한다.
- 데이터파일을 확인한다.
- 데이터 b 까지 복구하기 위해 시간기반으로 복구한다.
- resetlogs로 DB를 오픈한다.
- 컨트롤파일 재생성문에서 제거했던 users와 example에 해당하는 데이터파일은 복구가 되지 않는 것을 확인할 수 있다.
- 복구된 데이터를 확인한다.
- 메모리 부족으로 ORA-00845 에러가 날 경우
- DB link로 데이터 이관
- tnsnames.ora 파일을 수정한다.
- listener.ora 파일을 수정한다.
- clonedb로 tnsping이 날라가는지 확인한다.
- database link를 생성한다.
- 삭제한 테이블을 생성하여 데이터를 이관한다.
'Oracle > Admin' 카테고리의 다른 글
ORACLE AUDIT (0) | 2015.07.06 |
---|---|
USER 및 PROFILE 생성 (0) | 2015.07.01 |
데이터파일 백업 및 복구 (0) | 2015.06.15 |
Oracle EXPDP/IMPDP[정리필요] (0) | 2015.06.15 |
sqlnet.ora와 tnsnames.ora (0) | 2015.06.10 |