11g でもほぼ、Oracle のインスタンス・リスナー・EMDBControl の自動起動・停止設定 - ablog と同じでよいが、
以下の2点を変更しないと動かなかった。
- /etc/init.d/dbora
- dbstart、dbshut の引数に $ORACLE_HOME を追加しただけ。
#!/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 $ORACLE_HOME" 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 $ORACLE_HOME" ;; *) echo "usage: $0 {start|stop}" exit ;; esac exit
- $ORACLE_HOME/dbstart、dbshut
- Bourne Shell では動かないコードが書かれていたので、bash にしたら動いたw
$ cd $ORACLE_HOME/bin $ perl -i.org -ple 's/^#!\/bin\/sh$/#!\/bin\/bash/' dbstart $ perl -i.org -ple 's/^#!\/bin\/sh$/#!\/bin\/bash/' dbshut $ diff dbstart dbstart.org 1c1 < #!/bin/bash --- > #!/bin/sh $ diff dbshut dbshut.org 1c1 < #!/bin/bash --- > #!/bin/sh