팀원의 반정도가 본사로 교육을 받으러가있었서 급할게 없기에 천천히 복구 작업을 하게되었죠. 하드디스크 하나를 제거한 뒤에 datafile을 못 찾아서 생긴 현상이었기에 해당 datafile을 삭제해주고 DB를 open하려고 했는데...
SQL> col ts_name format a15
SQL> col filename format a60
SQL> SELECT A.TS#, A.NAME AS TS_NAME, B.FILE#, B.NAME AS FILENAME, B.STATUS, B.ENABLED FROM v$tablespace A, v$datafile B WHERE A.TS#=B.TS#
테이블스페이스 이름과 활당된 데이터파일 목록 출력
SQL> ALTER DATABASE DATAFILE 14 OFFLINE DROP;
-- 14번 데이터파일이 없어진 파일이다.
SQL> ALTER DATABASE OPEN;
여기서 문제가 발생했다. 오류 메세지를 보니 ORA-00600이고 상세 오류 정보에 [2252]가 포함되어 있기에 검색을 해봤더니 SCN관련 오류인듯했다. 다시 서버를 점검해보니 서버의 시스템 날자가 2003년도 1월로 되어있기에 이를 오늘 날자로 바꿔주고 Oracle을 재시작해줬더니 잘 되었다.
그리고 DB를 open한뒤에 해당 테이블 스페이스를 삭제해준걸로 마무리를 했습니다.
SQL> ALTER DATABASE OPEN;
SQL> DROP TABLESPACE LIS;
이렇게 써놓으니 아주 쉽게 넘어간것 같은데... 사실 이 과정이 이틀이나 걸렸던것이다.
처음엔 controlfile을 재생성하려고 했었다. ORA-00600 [2252] ~~~ 뭐 이런 메세지를 처음 봐서 너무 당황한 나머지 DB 재생성까지 생각했던 것인데... ㅡ.ㅡa
여기서 이번 사례를 정리해보면
환경
1) 아카이브 로그 모드가 아니다. ㅡ.ㅡ
2) Offline backup을 한 적이 없다. ㅜ.ㅜ
3) 해당 테이블스페이스는 없어져도 된다. ^^ (빙고~)
증상
1) Oracle DBMS가 mount 단계에서 open되지 않고 멈추어있다.
원인
1) Datafile 일부가 없어졌다.
해결책
1) 해당 파일을 없애준뒤에 DB를 open한다.
2) 해당 테이블스페이스를 삭제한다.
'IT 기술 > Oracle' 카테고리의 다른 글
[퍼온글] Solaris에 Oracle 9i 설치준비하기 (0) | 2008.03.06 |
---|---|
Solaris에 Oracle 9i 설치하기에 도전중입니다. (0) | 2008.02.29 |
[삽질기] 백업하려는 테이블의 저장 공간 사용량을 알아보려했습니다. (0) | 2008.02.11 |
Oracle 9i character set 변경 (0) | 2008.01.28 |
Oracle Database 11g 등장!! (0) | 2007.11.09 |