目录
目录软件环境Oracle服务启动停止重启脚本软件环境
操作系统RHEL6.1软件
Oracle10gr2
Oracle服务启动、停止、重启脚本
su - oraclecd /u01/oracle/bin#进入到Oracle安装的home目录下bin目录中
创建启动脚本:
在/u01/oracle/bin
下创建启停脚本。
vim dbstartup
#!/bin/bashlsnrctl start #启动监听程序sqlplus /nolog <<EOFconnect / as sysdbastartup #进入到Oracle并且连接到SYS管理员账户,执行启动DatabaseEOF
vi dbstop
#!/bin/bashlsnrctl stopsqlplus /nolog <<EOFconnect / as sysdbashutdown immediateEOF
赋予执行权限
chmod +x dbstartupchmod +x dbstop
进入到root用户:
su - rootcd /etc/rc.d/init.d
创建oracle服务管理脚本:
oracle脚本调用了上面的dbstartup
和dbstop
脚本,可以实现在root用户下启动、停止、重启Oracle服务,并且能够通过/var/log/oracle
查看启动日志。
vi oracle
#!/bin/bashcase "$1" instart)echo "Starting Oracle Listener and Database ... "echo "----------------------------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Starting Oracle Listener and Database ... " >> /var/log/oracleecho "----------------------------------------------------------------------" >> /var/log/oraclesu - oracle -c dbstartup >> /var/log/oracleecho "Done."echo ""echo "---------------------------------------------------------------------" >> /var/log/oracledate +" %T %a %D :Finished." >>/var/log/oracleecho "---------------------------------------------------------------------" >> /var/log/oracletouch /var/lock/subsys/oracle;;stop)echo "Stop Oracle Database and Listener ... "echo "---------------------------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Stop Oracle Listener and Databases ..." >> /var/log/oracleecho "---------------------------------------------------------------------" >> /var/log/oraclesu - oracle -c dbstop >> /var/log/oraclerm -f /var/lock/subsys/oracleecho "Done."echo ""echo "---------------------------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Finished." >> /var/log/oracleecho "---------------------------------------------------------------------" >> /var/log/oracle;;restart)echo "Restarting Oracle Listener and Database ..."echo "---------------------------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Restart ing Oracle Listener and Databases ..." >> /var/log/oracleecho "---------------------------------------------------------------------" >> /var/log/oraclesu - oracle -c dbstop >> /var/log/oraclesu - oracle -c dbstartup >> /var/log/oracleecho "Done."echo ""echo "---------------------------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Finished." >> /var/log/oracleecho "---------------------------------------------------------------------" >> /var/log/oracletouch /var/lock/subsys/oracle;;*)echo "Usage: oracle {start|stop|restart}"exit 1esac
赋予执行权限:
chmod +x oracle
测试:
[root@jmilk init.d]# /sbin/service oracle restartRestarting Oracle Listener and Database ...Done
创建进程链接文件:
[root@jmilk init.d]# ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/K01oracle[root@jmilk init.d]# ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/S99oracle[root@jmilk init.d]# ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc5.d/K01oracle[root@jmilk init.d]# ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc5.d/S99oracle[root@jmilk init.d]# ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc0.d/K01oracle[root@jmilk init.d]# ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01oracle
自动启动实例:
vi /etc/oratab
demo:/u01/oracle:Y#把N改为Y