在单实例Linux平台中,oracle是不会跟os启动而启动的,需要手工启动数据库,所以尝试使用如下自动启动数据库脚本,其中的em和isqlplus服务根据现有情况决定是否自动启动。
1. 首先编辑/etc/oratab文件
确认哪些数据库可以使用dbstart命令启动,修改成Y(默认是N),例如:
ora10g:/oracle/product/10.2.0/db:Y
test:/oracle/product/10.2.0/db:Y
2. 创建启动关闭脚本/etc/init.d/dbora
# chmod +x /etc/init.d/dbora
[/etc/init.d/dbora]
#!/bin/bash
# Oracle init script. for Linux.
#
# chkconfig: 345 99 10
# description: Oracle Automatic Startup/Shutdown on Linux
ORACLE_OWNER=oracle
ORACLE_HOME=/home/oracle/product/10.2.0/db
case "$1" in
start)
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart" >> /var/log/oracle
echo "Done."
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
echo "Done."
echo "Starting Oracle10g DBConsole ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" >> /var/log/oracle
echo "Done."
echo "Starting Oracle10g iSQLPlus ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl start" >> /var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
rm -f /var/lock/subsys/oracle
echo "Stoping Oracle10g iSQLPlus ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl stop" >> /var/log/oracle
echo "Done."
echo "Stoping Oracle10g DBConsole ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" >> /var/log/oracle
echo "Done."
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" >> /var/log/oracle
echo "Done."
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut" >> /var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: dbora {start|stop|restart}"
exit 1
esac
3. 开机自动启动
# chkconfig dbora on
开机关闭自动启动
# chkconfig dbora off
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9252210/viewspace-662886/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9252210/viewspace-662886/