方法一:
1、vi /etc/oratab
格式为: SID:ORACLE_HOME:AUTO
将最后一行的 liuyang:/u01/oracle:N
改为 orcl:/u01/oracle:Y
2、vi /etc/rc.local
加上以下两行:
su - oracle -c "/u01/oracle/bin/lsnrctl start"
su - oracle -c "/u01/oracle/bin/dbstart start"
其中 /u01/oracle 为$oracle_home
orcl 为SID
方法二:
1、cd /etc/init.d/
vi oracle 新建一个文件,输入如下内容:
#!/bin/bash
#/etc/init.d/oracle
#chkconfig: 2345 99 01
#description: add oracle
#oracle11g: oracle
#/etc/init.d/oracle
##################################################################
#add for oracle auto start
ORACLE_BASE=/u01
ORACLE_HOME=/u01/oracle
ORACLE_SID=liuyang
export ORACLE_BASE ORACLE_HOME ORACLE_SID
case "$1" in
start)
echo "Starting oracle ........"
su - oracle -c "/u01/oracle/bin/lsnrctl start"
su - oracle -c "/u01/oracle/bin/dbstart 1> /u01/dbstart.log 2>/u01/dbstart.err"
echo "Started."
exit 0
;;
stop)
echo "Stopping Oracle ........"
su - oracle -c "/u01/oracle/bin/lsnrctl stop"
su - oracle -c "/u01/oracle/bin/dbshut"
echo "Stopped."
exit 0
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
##############################################################
注意: 前面的注释不可去掉,因为这是加入service 所必须的
chmod 777 oracle 加权限
2、加入开机启动的之中
ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle
ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle
ln -s ../init.d/oracle /etc/rc.d/rc4.d/S99oracle
ln -s ../init.d/oracle /etc/rc.d/rc5.d/S99oracle
ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle
ln -s ../init.d/oracle /etc/rc.d/rc1.d/K01oracle
ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle
3、将oracle service添加到服务之中:
chkconfig --add /etc/init.d/oracle
查看是否设置成功:
chkconfig --list oracle
4、验证oracle是否开机自起:
reboot