//-- 이 내용은 Eegloos 의 블루오션 [BLUE OCEAN] 에서 "장땡" 님 글을 그대로 가져 왔습니다.
//-- 블루오션 원문 링크는 http://repository.egloos.com/5790800 입니다.
//-- 아래 "recover database until cancel ; " 를 수행하기 위해서는 Archive Log Mode 이여야 합니다.
1. 현상
$ lsnrctl start
$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 18 10:24:27 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> startup
ORACLE instance started.
Total System Global Area 2.6991E+10 bytes
Fixed Size 2213976 bytes
Variable Size 1.9059E+10 bytes
Database Buffers 7784628224 bytes
Redo Buffers 145174528 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 25292
Session ID: 177 Serial number: 3
2. 확인 및 조치사항
# startup단계를 하나하나 실행하여 어디가 문제인지 확인한다.
SQL> startup nomount;
SQL> alter database mount;
SQL> alter database open; ==> 여기서 에러가 발생했다.
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 24832
Session ID: 177 Serial number: 1
# aleter databse mount이후에 아래 명령어를 실행한다.
SQL> recover database until cancel ;
Media recovery complete.
SQL> alter database open resetlogs ;
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 2.6991E+10 bytes
Fixed Size 2213976 bytes
Variable Size 1.9059E+10 bytes
Database Buffers 7784628224 bytes
Redo Buffers 145174528 bytes
Database mounted.
Database opened.
SQL>
* database open실 발생하는 원인은 다음과 같은데
위 사항은 1)번 사항이다.
1) DATA파일이 깨졌을 때
2) SN번호 불일치 시 -> "SCN 번호 불일치" 의 오타로 보임
3) DB의 컨트롤 파일문제 시
4) 설정파일 오류
3. 추가사항
DB에 문제가 생겨서 강제로 kill로 죽였을 때
$ sqlplus "/as sysdba"로 접속하여
$ startup하면 ORA-01012: not logged on 에러가 발생한다.
그때는 SQL> startup force로 실행한다.