centos7 oracle 11g r2 설치 5/5 - 자동실행

DB & SQL 2015. 10. 17. 22:05

4단계까지만 해도 테스트하는데 지장이 없지만
부팅시에 자동실행 되면 편하니까 한다.

oracle 계정으로 실행한다.

vi /etc/oratab

다음 내용을

orcl:/usr/oracle/app/product/11.2.0/dbhome_1:N

아래 처럼 바꿔준다.

orcl:/usr/oracle/app/product/11.2.0/dbhome_1:Y

root 계정과 같은 관리자 계정으로 실행한다.

vi /etc/rc.d/init.d/oracle

다음 내용을 넣는다.
경로, 환경 등은 설치때 한 것과 동일하게 한다.

#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/usr/oracle/app/product/11.2.0/dbhome_1
ORACLE_USER=oracle

case "$1" in
'start')
    if [ -f $LOCKFILE ]; then
        echo $0 already running.
        exit 1
    fi
    echo -n $"Starting Oracle Database:"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
    touch $LOCKFILE
    ;;
'stop')
    if [ ! -f $LOCKFILE ]; then
        echo $0 already stopping.
        exit 1
    fi
    echo -n $"Stopping Oracle Database:"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
    rm -f $LOCKFILE
    ;;
'restart')
    $0 stop
    $0 start
    ;;
'status')
    if [ -f $LOCKFILE ]; then
        echo $0 started.
    else
        echo $0 stopped.
    fi
    ;;
*)
    echo "Usage: $0 [start|stop|status]"
    exit 1
esac

exit 0
# End of file

다음을 실행

sudo chmod 755 /etc/rc.d/init.d/oracle
sudo chkconfig --add oracle
sudo chkconfig oracle on

리부팅하고 정상적으로 서비스 실행되는지 확인


방화벽으로 인하여 접속이 안될 경우는
방화벽을 끄거나 리스너 포트를 여는 두가지 방법이 있다.

방화벽을 끌 경우

systemctl status firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld

리스너 포트를 열 경우

systemctl status firewalld
netstat -tulpn | grep LISTEN
sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent
sudo firewall-cmd --reload

리부팅하고 접속이 잘되는지 테스트 해본다.
아직까진 문제 없이 잘 되고 있다.

Trackbacks 2 : Comments 9
  1. livefacter 2016.04.26 21:36 Modify/Delete Reply

    감사합니다. 오라클 11g r2 설치 문서 5개를 스크랩하려고 하는데 출처를 밝히고 스크랩해도 되겠습니까?

    • puttico 2016.05.15 22:49 Modify/Delete

      답변이 늦었네요.
      상업적 목적이 아니라면 스크랩하셔도 됩니다.

  2. wschoi 2017.08.14 21:55 Modify/Delete Reply

    큰 도움이 됬습니다 좋은 자료 만들어주셔서 감사합니다.

  3. ㅠㅠ 2018.01.19 16:37 Modify/Delete Reply

    준비 단계부터 하나하나 쉽게 따라가게 설명해주셔서 감사합니다.
    다만 요번 파트에서
    #sudo chkconfig --add oracle 입력하면
    "oracle 서비스는 chkconfig 를 지원하지 않습니다" 라는 문구가 나옵니다. 뭐가 문제일까요 ㅠ

    • puttico 2018.01.19 16:42 신고 Modify/Delete

      자동실행 스크립트 복사후 붙여넣을때 일부 잘리는 현상이 있습니다
      붙여넣은 후 스크립트 내용 모두 잘 들어갔는지 확인하시고 진행하세요

  4. ㅠㅠ 2018.01.19 17:03 Modify/Delete Reply

    감사합니다. 위에 몇줄이 덜 들어가 있었네요.
    빠른 답변 감사합니다.

  5. 개굳 2018.01.31 15:26 Modify/Delete Reply

    위와같이 설정한 후 서버 재부팅하면 외부에서 오라클 접속은 잘 됩니다. 하지만 서버내에서 lsnrctl status를 확인하면 start가 되어있지 않는 상태로 나오는데 그냥 무시해도 되는걸까요?

  6. 토시로 2018.12.06 17:32 Modify/Delete Reply

    자동실행이 자꾸 적용이안되는데 혹시 수동으로 실행하려면 어떻게해야하나요 ..?

  7. 레알굳 2019.08.04 19:29 Modify/Delete Reply

    이런 레알 갓 자료를 만들어 주셔서 감사합니다~!

Write a comment