linux oracle停启,linux下Oracle自动启动与停止总结
1、 修改Oracle系統配置文件/etc/oratab
/etc/oratab 格式為: SID:ORACLE_HOME:AUTO
把AUTO域設置為Y(大寫),只有這樣,oracle 自帶的dbstart和dbshut才能夠發揮作用。我的為:ora10g:/home/oracle/products/10.2.0:Y
當然也可以不用oracle的腳本,本例采用自己寫的腳本,所以這一步可以略過。
2、 服務腳本:(命名為oracle)
如下
#!/bin/bash
#
#
# Created by chenyongrui 2006-05-09
#
case "$1" in
start)
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databasee as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -c "dbstart" >> /var/log/oracle (注 此處把我寫的啟動腳本替換dbstart)
echo "Done."
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -c "lsnrctl start" >> /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 "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -c "lsnrctl stop" >> /var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -c "dbshut" >>/var/log/oracle (注 此處把我寫的關閉腳本替換dbshut)
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac
將腳本命名為oracle,保存在/etc/rc.d/init.d下,當然也可使用其他名字,最后服務名跟著改變就可。
改變文件屬性為:chmod 755 oracle
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/rc5.d/S99oracle
注:此處只考慮在2 3 5三種運行方式下有效
要在重新啟動時停止數據庫,我們需要以下連結∶
$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止
$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新啟動
當然我們也可以使用chkconfig來增加oracle服務,具體實現如下
# cd /etc/rc.d/init.d/
# chkconfig --add oracle
# chkconfig --list oracle
oracle 0:0 ff 1:0 ff 2:0 ff 3:0 n 4:0 n 5:0 n 6:0 ff
linux系統啟動默認運行級別是5,所以runleve0是halt, runlevel6是reboot。 要在關機前執行腳本,單純的將寫好的腳本加到服務里是不行的,在halt或reboot時,系統會檢查/var/lock/subsys下有沒有跟以K開頭的服務名一樣的文件,如果有的話才會執行對應的腳本。所以系統啟動是需要在/var/lock/subsys下創建跟服務名一樣的文件,系統關機時才會執行服務的K腳本。
如果服務啟動了,但是沒有在/var/lock/subsys下創建對應的文件,系統關機時也不會執行服務對應的K腳本的,系統執行S和K腳本的條件可以看一下/etc/rc.d/rc腳本,
rc This file is responsible for starting/stopping
# services when the runlevel changes.[@more@]
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/8570952/viewspace-910635/,如需轉載,請注明出處,否則將追究法律責任。
總結
以上是生活随笔為你收集整理的linux oracle停启,linux下Oracle自动启动与停止总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle解除表锁死1,解除Oracl
- 下一篇: 三星怎么装系统 三星如何重装操作系统