//-- 이 내용은 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로 실행한다.




+ Recent posts