date +"! %T %a %D : starting oracle database after system startup" >>/var/log/oracle
date +"! %T %a %D : shutting down all oracle database as part of system shutown" >>/var/log/oracle
login as: oracle
oracle@192.168.148.129's password:
Last login: Mon Feb 18 11:19:17 2013 from 192.168.148.1
[oracle@localhost ~]$ cat /etc/rc.d/init.d/oracle
#!/bin/sh
# /etc/rc.d/init.d/oracle
# Description: The following script
# starts and stops all oracle database and listeners
ORACLE_HOME=/u01/oracle/product/11.2.0/dbhome_1
case "$1" in
start)
echo -n "starting oracle database:" >> /var/log/oracle
date +"! %T %a %D : starting oracle database after system startup." >> /var/log/oracle
echo "------" >> /var/log/oracle
su - oracle -c" $ORACLE_HOME/bin/dbstart" >>/var/log/oracle
echo "Done" >>/var/log/oracle
echo -n "starting oracle Listeners:" >>/var/log/oracle
su - oracle -c "lsnrctl start" >>/var/log/oracle
echo "Done" >>/var/log/oracle
echo ""
echo "------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "------" >> /var/log/oracle
;;
stop)
echo -n "shutting Down oracle Listeners:" >>/var/log/oracle
echo "------" >> /var/log/oracle
date +"! %T %a %D : shutting down all oracle database as part of system shutdown." >> /var/log/oracle
echo "------" >> /var/log/oracle
su - oracle -c "lsnrctl stop" >>/var/log/oracle
echo "Done"
echo -n "shutting down oracle database"
su - oracle -c dbshut >>/var/log/oracle
echo "Done"
echo ""
echo "------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "------" >> /var/log/oracle
;;
restart)
echo -n "restarting oracle databases:" >>/var/log/oracle
echo "------" >> /var/log/oracle
date +"! %T %a %D : restarting oracle databases ater system startup." >> /var/log/oracle
echo "------" >> /var/log/oracle
su - oracle -c dbshut >> /var/log/oracle
su - oracle -c dbstart >> /var/log/oracle
echo "Done"
echo -n "restarting the oracle listener:"
su - oracle -c "lsnrctl stop" >>/var/log/oracle
echo "Done"
echo ""
echo "------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "------" >> /var/log/oracle
;;
*)
echo "usage:oracle{start|stop|restart}"
exit 1
esac
3\根据需要在什么等级下启动创建连接
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/rc6.d/K01oracle
至此完成linux启动时自动启动oracle,
如何检查是否成功呢
1、查看日志文件/var/log/oracle,这里面记录启动过程,
2、在$ORACLE_HOME/目录下还有startup.log和shutdown.log两个启动和关闭数据库的日志。
3、查看状态
lsnrctl status 查看监听状态
在系统内登陆sqlplus / as sysdba
sql>select instance_name,status from v$instance; 查看数据状态