我创建了一个名为 blueBoxT 的脚本用于启动和停止 Oracle,并将其放在 /etc/init.d 目录中。
#!/bin/bash
echo "blueBoxT $1 - `date '+%Y%m%d%H%M'`" >> /root/blueBoxT.log
case "$1" in
'start')
echo "Starting Oracle"
su - oracle -c "/home/oracle/startDBT"
;;
'stop')
echo "Stopping Oracle"
su - oracle -c "/home/oracle/stopDBT"
;;
*)
echo "`basename $0`: usage: `basename $0` { stop | start }"
;;
esac
exit 0
我创建了符号链接,如下所示......
root@dev /etc/rc.d
# find . -name *blueBox*
./rc2.d/K11blueBox
./rc6.d/K11blueBox
./init.d/blueBoxT
./rc1.d/K11blueBox
./rc3.d/S97blueBox
./rc0.d/K11blueBox
./rc5.d/S97blueBox
./rc4.d/S97blueBox
/root/blueBoxT.log 上的日志显示启动命令并且 Oracle 实例已启动。
停止命令似乎从未被调用过。它不在我的日志中。
root@dev /root
# cat blueBoxT.log
blueBoxT start - 201008051323
blueBoxT start - 201008051327
blueBoxT start - 201008051346
blueBoxT start - 201008051356
我使用以下命令关闭了我的 Fedora 10...
shutdown -h now
我错误地配置了什么以致无法接收停止信息,以便我可以有序关闭 Oracle?
答案1
我没有该版本的 Fedora,但对于 RHEL5 来说,/etc/rc.d/rc 的重要部分是:
subsys=${i#/etc/rc$runlevel.d/K??}
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \
|| continue
/var/lock/subsys/blueBox
你的问题可能是启动时没有触摸a 。
另外,init.d 中的文件被调用blueBoxT
,而您的 rc?.d 脚本被调用K??blueBox
(没有尾随T
),这令人困惑。