Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
tetsuyakawahara
Active Participant
0 Kudos

SAPシステムをLinux/Oracle環境で構築した場合、初期状態では一般的に

  1. orasidユーザーでlsnrctl startコマンドでオラクルリスナーを起動
  2. sidadmユーザーでstartsapコマンド/sapcontrolコマンドでOracle(直接SQL*PlusからstartupでもOK)→SAPと起動

と異なるユーザーで順番に手動操作で起動しないといけません。

Oracle 11g R2では非推奨とされていますがdbstart/dbshutコマンドを組み込めばOSブート時に

データベースそのものの自動起動も可能ですし、同様のスクリプトを書けばSAPインスタンスまで

自動起動させることも出来ますが、ここでは一例としてリスナーだけを自動起動する方法をご紹介します。

対象となるOSはRed Hat Enterprise Linux 6とします。

rootユーザーで/etc/rc.d/init.d/配下にスクリプトを作成します。ここではファイル名はsaporalsnrとします。

# vi /etc/rc.d/init.d/saporalsnr

#!/bin/sh
# chkconfig: 2345 99 10
# description: start and stop Oracle Listner
#
# Oracle Listner Auto Start
#
ORA_HOME=/oracle/SID/112_64
ORA_OWNER=orasid
export ORACLE_HOME=$ORA_HOME
SUBSYSTEM=/var/lock/subsys/saporalsnr
case "$1" in
        start)
                # Start Oracle Net
                if [ -f $SUBSYSTEM ]; then
                echo $0 already running.
                exit 1
               fi
                su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
                touch $SUBSYSTEM
                ;;
        stop)
                # Stop Oracle Net
                if [ ! -f $SUBSYSTEM ]; then
                echo $0 already stopping.
                exit 1
        fi
                su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
                rm -f $SUBSYSTEM
                ;;
        restart)
                $0 stop
                $0 start
                ;;
        status)
                if [ -f  $SUBSYSTEM ]; then
                echo $0 started.
                else
                echo $0 stopped.
                fi
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 1
esac
exit 0

 

実行権を変更しておきます。

# chmod 755 /etc/rc.d/init.d/saporalsnr

chkconfigコマンド用の定義をしてあるので自動起動を設定します。

上記例ではランレベル2345で起動され016では停止する内容になっています。

# chkconfig --add saporalsnr

確認すると/etc/rc.d/rc2.d、rc3.d、rc4.d、rc5.d配下にS99saporalsnrファイルが、

/etc/rc.d/rc0.d、rc1.d、rc6.d配下にK10saporalsnrファイルが作成されています。

また以下のコマンドで確認することもできます。

# chkconfig --list saporalsnr

saporalsnr           0:off   1:off   2:on    3:on    4:on    5:on    6:off

WindowsであればGUIでサービスの管理ツールから簡単に自動起動の設定ができますが、

Linux/Unixでもこのようにスクリプトを作成することで自動起動の仕組みを実装することが可能です。