目录
软件环境
- 操作系统
- RHEL6.1
- 软件
- Oracle10gr2
Oracle服务启动、停止、重启脚本
su - oraclecd /u01/oracle/bin#进入到Oracle安装的home目录下bin目录中
创建启动脚本:
在/u01/oracle/bin
下创建启停脚本。 vim dbstartup #!/bin/bash lsnrctl start #启动监听程序 sqlplus /nolog <
vi dbstop
#!/bin/bash lsnrctl stop sqlplus /nolog <
赋予执行权限
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/bash case "$1" in start) echo "Starting Oracle Listener and Database ... " echo "----------------------------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Listener and Database ... " >> /var/log/oracle echo "----------------------------------------------------------------------" >> /var/log/oracle su - oracle -c dbstartup >> /var/log/oracle echo "Done." echo "" echo "---------------------------------------------------------------------" >> /var/log/oracle date +" %T %a %D :Finished." >>/var/log/oracle echo "---------------------------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; stop) echo "Stop Oracle Database and Listener ... " echo "---------------------------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stop Oracle Listener and Databases ..." >> /var/log/oracle echo "---------------------------------------------------------------------" >> /var/log/oracle su - oracle -c dbstop >> /var/log/oracle rm -f /var/lock/subsys/oracle echo "Done." echo "" echo "---------------------------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "---------------------------------------------------------------------" >> /var/log/oracle ;; restart) echo "Restarting Oracle Listener and Database ..." echo "---------------------------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Restart ing Oracle Listener and Databases ..." >> /var/log/oracle echo "---------------------------------------------------------------------" >> /var/log/oracle su - oracle -c dbstop >> /var/log/oracle su - oracle -c dbstartup >> /var/log/oracle echo "Done." echo "" echo "---------------------------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "---------------------------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; *) echo "Usage: oracle {start|stop|restart}" exit 1 esac
赋予执行权限:
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/oratabdemo:/u01/oracle:Y #把N改为Y