본문 바로가기

DB의 속삭임/DataBase의 외침

[DB][ORACLE][관리][에러]ORA-01078 ORA-0037 ORA-00205 ORA-00201 ORA-01103

[oracle@localhost /home/oracle]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on Fri Aug 6 00:55:11 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/home/oracle/app/oracle/product/11.1.0/db_1/dbs/initORCL.ora'

조치 : cp $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/init[SID].ora

 

 

SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORA-00371: not enough shared pool memory, should be atleast 102341017 bytes
SQL> quit
Disconnected

조치 : vi $ORACLE_HOME/dbs/init[SID].ora

         ora 파일을 열어 shared pool memory 값을 102341017 로 변경 한다.

 

 

SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  142286848 bytes
Fixed Size                  1298388 bytes
Variable Size             130023468 bytes
Database Buffers            8388608 bytes
Redo Buffers                2576384 bytes
ORA-00205: error in identifying control file, check alert log for more info

조치 : vi $ORACLE_HOME/dbs/init[SID].ora

         160 control_files = (ora_control1, ora_control2)

         160 control_files = ($ORACLE_BASE/oradata/orcl/control01.ctl,$ORACLE_BASE/oradata/orcl/control02.ctl,$ORACLE_BASE/oradata/orcl/cont    rol03.ctl)
         위와 같이 변경을 해준다.

 

SQL> shutdown
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> shutdown immediate
ORA-01012: not logged on
SQL> startup
ORACLE instance started.

Total System Global Area  142286848 bytes
Fixed Size                  1298388 bytes
Variable Size             130023468 bytes
Database Buffers            8388608 bytes
Redo Buffers                2576384 bytes
ORA-00201: control file version 11.1.0.0.0 incompatible with ORACLE version
11.0.0.0.0
ORA-00202: control file: '/home/oracle/app/oracle/oradata/orcl/control01.ctl'

조치 : vi $ORACLE_HOME/dbs/init[SID].ora

        176 #compatible = 8.1.0
        177 compatible = 11.1.0.0.0

 

SQL> conn /as sysdba
Connected.
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  142286848 bytes
Fixed Size                  1298388 bytes
Variable Size             130023468 bytes
Database Buffers            8388608 bytes
Redo Buffers                2576384 bytes
ORA-01103: database name 'ORCL' in control file is not 'DEFAULT'

조치 : vi $ORACLE_HOME/dbs/init[SID].ora

         78 #db_name=DEFAULT
         79 db_name=ORCL


 

 

오라클 시작시 다음과 같이 에러가 발생하면 기존 spfile의 문제 발생시 생기는 오류로

잘못된 종료나 오라클문제로 인하여 발생되는 것으로 보입니다.


에러코드 : ORA-01078:Failure in processing system parameters.  오류발생시

에러사유 : init[SID].ora 파일을 찾을 수가 없어서 나는 오류이다.

해결방안 : init[SID].ora 파일을 생성해주면 이문제는 해결된다.

                   예) cp $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/init[SID].ora 로 복사한다.

에러코드 : ORA-0037 : not enough shared pool memory. should be atleast 123532315 byte

에러사유 : shared pool memory 가 부족하다는 메세지이다.

해결방안 : init[SID].ora 파일을 열어서 shared pool memory를 위에 표시된 수보다 같거나 많게 설정한다.


에러코드 : ORA-00205 : error in identifying control file. check alert log for more info

에러사유 : control 파일을 못찾아서 발생한 오류이다.

해결방안 : init{SID].ora 파일을 열어서 control_files을 찾아 파일설정을 해주면 된다.

                   예) control_files = ($ORACLE_BASE/oradata/해당 sid/control01.ctl, $ORACLE_BASE/oradata/해당 sid/control02.ctl, $ORACLE_BASE/oradata/해당 sid/control03.ctl)


에러코드 : ORA-00201 : control file version 10.2.0.1.0 incompatible with ORACLE version 10.2.0.1.0

에러사유 :  기본 버전설정이 잘못되어 있어서 나는 오류이다.

해결방안 : init[SID].ora 파일을 열어서 맨밑에 있는 #compatible의 '#' 주석표시를 삭제하고 버전을 맞춰준다.

                    예) #compatible = 8.1.0  -> compatible = 10.2.0.1.0


에러코드 : ORA-01103 : database name 'SID' in control file is not 'DEFAULT'

에러사유 : database name이 잘 못되어 있어서 나는 오류이다.

해결방안 : init[SID].ora 파일을 열어서 db_name을 해당 SID로 변경한다.

                   예) db_name = 해당 SID


위와 같이 spfile 파일의 문제로 pfile로 변경하면서 위와 같은 설정을 해주므로 문제를 해결할 수 있다.

단, spfile로 설정하던 문제들을 이제는 pfile에서 설정을 해주어야 한다.