2011. 4. 12. 13:37
Oracle 복구 Work/ORACLE2011. 4. 12. 13:37
최근에 겪은 이슈이다.
------------ xxx.trc-----------------
*** SESSION ID:(20.8) 2011-04-11 23:19:12.000
*** 2011-04-11 23:19:12.000
ksedmp: internal or fatal error
ORA-01114: 7 파일에 블록을 기록하는데 IO 오류입니다 (블록 번호 2620040)
ORA-27069: skgfdisp: I/O을 시도시 파일의 범위를 넘었습니다
OSD-04026: 부적합한 매개변수가 전달되었습니다. (OS 2620040)
ORA-01114: 7 파일에 블록을 기록하는데 IO 오류입니다 (블록 번호 2620040)
ORA-27069: skgfdisp: I/O을 시도시 파일의 범위를 넘었습니다
OSD-04026: 부적합한 매개변수가 전달되었습니다. (OS 2620040)
ORA-01114: 7 파일에 블록을 기록하는데 IO 오류입니다 (블록 번호 2620040)
ORA-27069: skgfdisp: I/O을 시도시 파일의 범위를 넘었습니다
OSD-04026: 부적합한 매개변수가 전달되었습니다. (OS 2620040)
ORA-01114: 7 파일에 블록을 기록하는데 IO 오류입니다 (블록 번호 2620040)
ORA-27069: skgfdisp: I/O을 시도시 파일의 범위를 넘었습니다
OSD-04026: 부적합한 매개변수가 전달되었습니다. (OS 2620040)
No current SQL statement being executed.
------------ xxx.trc-----------------
위의 에러가 발생했고...
대처를 적절히 하지 못해서 hot backup 된 것을 바로 replace 하기로 결정.
redo log 없고, controlfile, dbf 만 있는 상황....
복구시도를 했으나 번번이 실패...
과거에는 alter database open resetlogs 로 바로 복구되었는데 어찌된 일인지 아래처럼 안된다.
----------- sqlplus --------------------
SQL> alter database open resetlogs;
alter database open resetlogs
*
1행에 오류:
ORA-01195: 1 파일의 온라인 백업은 일관성을 갖기위해 더 많은 복구가 필요로 합니다
ORA-01110: 1 데이터 파일:
SQL>
----------- sqlplus --------------------
하지만 pfile에 _ALLOW_RESETLOGS_CORRUPTION=TRUE option 적용 후 resetlogs 로 open.이 가능했다.
아.. 다행이다..
참고 url
http://practicalappsdba.wordpress.com/2008/04/01/how-to-recover-and-open-the-database-if-the-archive-log-required-for-recovery-is-missing/
주요 내용은 아래와 같다.
1) Set _ALLOW_RESETLOGS_CORRUPTION=TRUE in init.ora file.
2) Startup Mount
3) Recover database
4) Alter database open resetlogs.
5) reset undo_management to “manual” in init.ora file.
6) startup database
7) Create new undo tablespace
changed undo_management to “AUTO” and undo_tablespace to “NewTablespace”
9) Bounce database.