Debian 6 设置Oracle 11g R2开机自动启动
以root帐户登录。
第一步:修改 /etc/oratab
orcl:/home/oracle/oracle/product/11.2.0/db_1:Y
其中
orcl: 是 sid
/home/oracle/oracle/product/11.2.0/db_1:是db_home
Y: 是指开机启动Y(yes) or N(no);默认是N的,改成Y。
第二步: /etc/init.d 目录下新建一个名为 oracle 的文件
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/home/oracle/oracle/product/11.2.0/db_1"
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/dbstart $ORA_HOME"
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
#Optional : for Enterprise Manager software only
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl start dbconsole"
touch /var/lock/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
#Optional : for Enterprise Manager software only
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c "$ORA_HOME/bin/dbshut $ORA_HOME"
rm -f /var/lock/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
注意修改oracle home的目录,此处为
/home/oracle/oracle/product/11.2.0/db_1
并更改文件权限:
chmod 755 /etc/init.d/oracle
第三步:让oracle文件在系统启动时调用
update-rc.d oracle defaults 99 01
执行这一步时,系统提示了一个警告:
insserv: warning: script 'oracle' missing LSB tags and overrides
先重启了一下,执行lsnrctl status ,发现实例已启动,打开Toad嘎嘎两声,连接OK。就暂时没有理会这些错误了。