Oracle のインスタンス・リスナー・EMDBControl の自動起動・停止設定手順をメモ。
以下は Oracle 10gR2 on Solaris 10 の場合の手順。
- oratab を編集する。
$ vi /var/opt/oracle/oratab orcl:/export/home/oracle/product/10.2.0/db_1:Y
- /etc/init.d/dbora を作成する。
#!/bin/sh ORATAB=/var/opt/oracle/oratab ORACLE_HOME=`awk -F: '/^[^#:]+:.+:[Y]$/ { print $2; exit}' $ORATAB` if [ x$ORACLE_HOME = "x" ]; then echo "There is not Y entry in $ORATAB." exit 1 fi ORACLE=`ls -l $ORACLE_HOME/bin/dbstart | awk '{print $3}'` PATH=${PATH}:$ORACLE_HOME/bin export ORACLE_HOME PATH case $1 in 'start') su - $ORACLE -c "$ORACLE_HOME/bin/dbstart" su - $ORACLE -c "$ORACLE_HOME/bin/lsnrctl start" su - $ORACLE -c "$ORACLE_HOME/bin/emctl start dbconsole" & ;; 'stop') su - $ORACLE -c "$ORACLE_HOME/bin/emctl stop dbconsole" su - $ORACLE -c "$ORACLE_HOME/bin/lsnrctl stop" su - $ORACLE -c "$ORACLE_HOME/bin/dbshut" ;; *) echo "usage: $0 {start|stop}" exit ;; esac exit
- dbora の所有グループ・パーミッションを変更する。
# cd /etc/init.d # chown root:dba dbora # chmod 750 dbora
# ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
[参考]
Oracle�\�t�g�E�F�A�̒��~�ƋN��
追記(2010/01/18):
Linux の場合、/etc/init.d/dbora の ORATAB を /var/opt/oracle/oratab を /etc/oratab に変更して、シンボリックリンクを以下のように作成する。
# ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora