불완전 복구 - DDL 관련 장애복구(2) 

drop tablespace명령으로 삭제된 tablespace 복구. (backup file 있을경우.)

 

[ 관련 에러 코드 ]

 

ORA-01244 : unnamed datafile(s) added to control file by media recovery

ORA-01110 : datafile 6 : '/app/oracle/oradata/testdb/ts_new01.dbf'

 

 

 

 

 

 

[ 백 업 하 기 & 장 애 발 생 ]

 1. 현재 파일의 위치를 확인 후 전체 full backup을 수행한다.

 

2. tablespace와 table을 생성하고 값을 입력한다.

(백업을 먼저 받고 생성했으므로 백업파일에는 tablespace가 존재하지 않는다.)

 

3. tablespace를 drop하는 장애를 발생시킨다.

 

 

[ 해 결 ]

1. db를 끄고, data file과 control file, redo log file을 임시 경로로 복사한다. 이 때, tablespace가 drop되면, control file에서 해당 data file을 삭제하므로,  control file은 이전에 백업한 파일을 사용해서 복사한다.

 

2. 파라미터 파일을 열어서 control file의 경로를 수정해준다.

 

3. db를 open해서 변경된 control file의 경로를 확인하고, 변경전의 data file과 redolog file의 경로도 조회한다.

 

4. data file의 경로를 rename으로 수정해준다.

 

5. redolog file의 경로를 rename으로 수정해준다.

 

6. drop tablespace는 alertlog에 삭제된 시간이 기록되므로, 얼럿로그를 조회한다.

 

7. 슬래쉬+찾고자하는문자열 을 적으면 바로 검색할 수 있다.

 

8. 문자열을 검색했을 때 바로 위에 나오는 시간을 기억해 둔다.

 

9. 복구 명령을 내렸을 때, sequnece 번호가 뜨면, 다른창에서 log file 경로를 조회해서 해당 번호의 경로를 직접 입력해준다.

** 이 때 , drop tablespace의 경우, control file을 백업폴더에서 가져왔으므로, control file과 data file의 SCN이 같게되어 복구를 진행하지 않게되므로, using backup controlfile이라는 옵션을 붙여주면, 복구를 진행하게 된다.

** 복구하게되면, unnamed datafile이 control file에 추가되었다는 에러메시지가 뜨면서, 해당 데이터 파일의 번호와 파일명을 알려주는데, 이 파일을 새로운 경로에 생성한 후 다시 복구를 시도하면 된다.

 

10. unnamed datafile이 생성된것이 확인된다.

 

11. unnamed datafile을 새로운 경로로 지정해준다.

 

12. 다시 복구를 시도한다. (완료)

 

Print Friendly and PDF Posted by JJ*
: