본문 바로가기
아이티 공부/Oracle

리눅스에 오라클 설치 후 오라클 자동시작 설정하는 방법

by Klero 2015. 10. 25.

Linux Server에 Oracle을 정상적으로 설치하고 접속까지 잘 된다. 

하지만 리눅스를 재시작하고 sqlplus에서 system 계정으로 접속하려고 하면 

아래와 같은 에러가 발생한다.

ORA-01034 : ORACLE not available

ORA-27101 : shared memory realm dose not exist.


이러한 에러가 발생하는 이유는 오라클 서비스가 자동으로 시작되지 않아서 

문제가 되는 것이다. 

간단하게 리눅스 서버 재부팅 후에 

오라클 서비스가 자동으로 시작되게 설정해주면 된다.


root 계정으로 진행하였다.


1. /etc/oratab 파일을 수정해야 한다.

/etc/oratab파일은 오라클이 자동 실행이 되게 할 것인지를 결정할 수 있는 파일이다.


[root@CentOSOracle ~]# vi /etc/oratab

아래 사진의 빨간색 밑줄 그어진 구문을 알맞게 수정한다. 맨 끝에는 Y로 수정해야 한다.

ORCL:/u01/app/oracle/product/11.2.0/dbhome:Y





2. /etc/init.d/oracle 스크립트를 작성한다.

오라클 홈 디렉토리에 있는 dbstart, dbshutdown을 실행하기 위한 스크립트를 작성한다.


[root@CentOSOracle ~]# vi /etc/init.d/oracle



#!/bin/bash

#

# chkconfig: - 70 30

# description: oracle for GCLB

#

ORA_HOME="/u01/app/oracle/product/11.2.0/dbhome"

ORA_OWNER="oracle"


if [! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME]

then

        echo "Oracle Startup: failed"

        exit 1

fi


case "$1" in

start)

        echo -n "Oracle Start: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"

        su - $ORA_OWNER -c $ORA_HOME/bin/dbstart

        touch /var/lock/subsys/oracle

        echo "OK"

        ;;

stop)

        echo -n "ORACLE Shutdown: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"

        su - $ORA_OWNER -c $ORA_HOME/bin/dbshut

        rm -f /var/lock/subsys/oracle

        echo "OK"

        ;;

restart)

        $0 stop

        $0 start

        ;;

*)

        echo "Usage: $0 start|stop|restart"

        exit 1

esac

exit 0




[root@CentOSOracle ~]# chmod 775 /etc/init.d/oracle



3. chkconfig 서비스 등록


[root@CentOSOracle ~]# chkconfig --add oracle

[root@CentOSOracle ~]# chkconfig oracle on

[root@CentOSOracle ~]# chkconfig --list oracle




4. 마지막으로 서버 재시작

[root@CentOSOracle ~]# reboot 



반응형

댓글