Oracle Linux 7: init.d를 사용하여 Oracle 자동 시작

Oracle Linux 7: init.d를 사용하여 Oracle 자동 시작

Oracle Linux 7.3 시스템에서 init.d를 통해 Oracle 12.1.0.2.0을 부팅하려고 합니다.

나는 다음 예를 따랐습니다.https://oracle-base.com/articles/linux/automating-database-startup-and-shutdown-on-linux

이것은 데이터베이스를 시작하는 스크립트입니다.

#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the 
# Oracle database in ORA_HOME.

ORA_HOME=/u01/app/oracle/product/12.1.0.2/db_1
ORA_OWNER=oracle

case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login 
        # will not prompt the user for any values
        # Remove "&" if you don't want startup as a background process.
        su $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" &
        su $ORA_OWNER -c $ORA_HOME/bin/dbstart &
        touch /var/lock/subsys/dbora
        ;;
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login 
        # will not prompt the user for any values
        su $ORA_OWNER -c $ORA_HOME/bin/dbshut
        su $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
        rm -f /var/lock/subsys/dbora
        ;;
esac

처음에는 아무 일도 일어나지 않았습니다. /etc/rc0.d및 에 소프트 링크를 만들었 습니다 /etc/rc3.d.

ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora
ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
chkconfig --level 2345 dbora on

chkconfigdbora.sh와 함께 나열됨runlevel 2345

다음과 같이 짧은 스크립트를 사용하여 수동으로 시작하면 잘 작동합니다.

#!/bin/sh
$ORACLE_HOME/bin/lsnrctl start
$ORACLE_HOME/bin/dbstart

내가 무엇을 놓치고 있나요?

답변1

wurtel 덕분에 해결책을 찾았습니다. Oracle DB를 머신에서 실행하려면 systemd를 사용해야 합니다. 이에 대한 가이드는 다음과 같습니다. https://oracle-base.com/articles/linux/automating-database-startup-and-shutdown-on-linux#oracle-11gr2-update

start.sh 및 shutdown.sh를 생성하는 방법을 알아보려면 Oracle 11gR2+ 섹션(마지막 섹션)을 따르세요. 그런 다음 이 튜토리얼에 따라 유닛 파일을 설정하십시오. https://oracle-base.com/articles/linux/linux-services-systemd#creating-linux-services

기적적으로 작동합니다 :)

관련 정보