RedFlag 6SP3 oracle 关机执行脚本解决方法
发现在Redflag linux 6sp3里面,
只能开机有用,
关机就不能正常执行脚本。
后来发现问题所在,要在关机时执行关机脚本,
必需有oracle对应文件生成在/var/lock/subsys文件夹下面才行。
然后就按其中的sshd脚本样式,
照葫芦画瓢,修改了oracle脚本。
以下是脚本内容。
#!/bin/bash
#
# Init file for Oracle11g Server
#
# chkconfig: 345 99 01
# description: Oracle11g Server
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1
ORACLE_OWNER=oracle
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
RETVAL=0
start()
{
echo "Starting Oracle Database..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
echo "Done."
echo "Starting Oracle Listeners ..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
echo "Done."
echo "Starting Oracle EM Agent..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/agtctl start"
echo "Done."
echo "Starting Oracle EM ..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "Done."
RETVAL=$?
}
stop()
{
echo "Stoping Oracle EM"
su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "Done."
echo "Stoping Oracle EM Agent..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/agtctl stop"
echo "Done."
echo "Stoping Oracle Listeners ..."
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
echo "Done"
echo "Stoping Oracle Database..."
su - $ORACLE_OWNE -c "$ORACLE_HOME/bin/dbshut"
echo "Done"
RETVAL=$?
[ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/oracle
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop}"
RETVAL=1
esac
exit $RETVAL
目录 返回
首页