본문 바로가기
카테고리 없음

OS 부팅 방법

by Lsung 2026. 9. 18.

# ============================================
# Oracle 19c OS 부팅 자동 시작 스크립트 설정
# 환경
# ORACLE_USER = ora19c
# ORACLE_HOME = /app/ora19c/19c
# ORACLE_SID  = DB19
# ============================================


# 1. Oracle 시작/종료 스크립트 생성
vi /etc/init.d/oracle19c


# 아래 내용 전체 입력
#!/bin/bash

ORACLE_USER=ora19c
ORACLE_HOME=/app/ora19c/19c
ORACLE_SID=DB19

case "$1" in

start)

    echo "=============================="
    echo " Oracle 19c START"
    echo "=============================="

    su - $ORACLE_USER -c "
        export ORACLE_HOME=$ORACLE_HOME
        export ORACLE_SID=$ORACLE_SID
        export PATH=\$ORACLE_HOME/bin:\$PATH

        lsnrctl start

        sqlplus / as sysdba <<EOF
startup;
exit;
EOF
    "

    echo "Oracle START 완료"
    ;;


stop)

    echo "=============================="
    echo " Oracle 19c STOP"
    echo "=============================="

    su - $ORACLE_USER -c "
        export ORACLE_HOME=$ORACLE_HOME
        export ORACLE_SID=$ORACLE_SID
        export PATH=\$ORACLE_HOME/bin:\$PATH

        sqlplus / as sysdba <<EOF
shutdown immediate;
exit;
EOF

        lsnrctl stop
    "

    echo "Oracle STOP 완료"
    ;;


restart)

    $0 stop
    sleep 3
    $0 start
    ;;


status)

    echo "=============================="
    echo " Listener 상태"
    echo "=============================="

    su - $ORACLE_USER -c "
        export ORACLE_HOME=$ORACLE_HOME
        export ORACLE_SID=$ORACLE_SID
        export PATH=\$ORACLE_HOME/bin:\$PATH

        lsnrctl status
    "

    echo ""
    echo "=============================="
    echo " Oracle DB Process"
    echo "=============================="

    ps -ef | grep pmon | grep -v grep
    ;;


*)

    echo "사용법: $0 {start|stop|restart|status}"
    exit 1
    ;;

esac

exit 0


# vi 저장
# Esc
# :wq
# Enter


# ============================================
# 2. 실행 권한 부여
# ============================================

chmod +x /etc/init.d/oracle19c


# ============================================
# 3. 스크립트 수동 실행 테스트
# ============================================

# Oracle 시작
/etc/init.d/oracle19c start

# 상태 확인
/etc/init.d/oracle19c status

# Oracle 종료
/etc/init.d/oracle19c stop

# 다시 시작
/etc/init.d/oracle19c start


# ============================================
# 4. systemd 서비스 파일 생성
# ============================================

vi /etc/systemd/system/oracle19c.service


# 아래 내용 입력

[Unit]
Description=Oracle Database 19c
After=network.target

[Service]
Type=forking
User=root
ExecStart=/etc/init.d/oracle19c start
ExecStop=/etc/init.d/oracle19c stop
RemainAfterExit=yes
TimeoutStartSec=300
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target


# vi 저장
# Esc
# :wq
# Enter


# ============================================
# 5. systemd 설정 반영
# ============================================

systemctl daemon-reload


# ============================================
# 6. OS 부팅 시 Oracle 자동 시작 등록
# ============================================

systemctl enable oracle19c


# 자동 시작 등록 확인
systemctl is-enabled oracle19c


# 정상 결과
# enabled


# ============================================
# 7. Oracle 서비스 시작
# ============================================

systemctl start oracle19c


# ============================================
# 8. Oracle 서비스 상태 확인
# ============================================

systemctl status oracle19c


# ============================================
# 9. 실제 Oracle DB 실행 여부 확인
# ============================================

ps -ef | grep pmon


# 정상 예
# ora19c ... ora_pmon_DB19


# ============================================
# 10. Listener 상태 확인
# ============================================

su - ora19c -c "lsnrctl status"


# ============================================
# 11. 재부팅 테스트
# ============================================

reboot


# ============================================
# 12. 재부팅 후 Oracle 자동 실행 확인
# ============================================

ps -ef | grep pmon

su - ora19c -c "lsnrctl status"

systemctl status oracle19c


# ============================================
# 최종 동작 순서
# ============================================

# Linux OS 부팅
#      ↓
# systemd
#      ↓
# oracle19c.service
#      ↓
# /etc/init.d/oracle19c start
#      ↓
# Listener 시작
#      ↓
# Oracle DB19 startup
#      ↓
# Oracle 19c 자동 실행 완료