linux oracle停启,linux下Oracle自动启动与停止总结
1、 修改Oracle系統(tǒng)配置文件/etc/oratab
/etc/oratab 格式為: SID:ORACLE_HOME:AUTO
把AUTO域設(shè)置為Y(大寫),只有這樣,oracle 自帶的dbstart和dbshut才能夠發(fā)揮作用。我的為:ora10g:/home/oracle/products/10.2.0:Y
當(dāng)然也可以不用oracle的腳本,本例采用自己寫的腳本,所以這一步可以略過。
2、 服務(wù)腳本:(命名為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 (注 此處把我寫的啟動(dòng)腳本替換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 (注 此處把我寫的關(guān)閉腳本替換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下,當(dāng)然也可使用其他名字,最后服務(wù)名跟著改變就可。
改變文件屬性為:chmod 755 oracle
3、建立服務(wù)連接:
系統(tǒng)啟動(dòng)時(shí)啟動(dòng)數(shù)據(jù)庫,我們需要以下連結(jié)∶
$ 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三種運(yùn)行方式下有效
要在重新啟動(dòng)時(shí)停止數(shù)據(jù)庫,我們需要以下連結(jié)∶
$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止
$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新啟動(dòng)
當(dāng)然我們也可以使用chkconfig來增加oracle服務(wù),具體實(shí)現(xiàn)如下
# 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系統(tǒng)啟動(dòng)默認(rèn)運(yùn)行級別是5,所以runleve0是halt, runlevel6是reboot。 要在關(guān)機(jī)前執(zhí)行腳本,單純的將寫好的腳本加到服務(wù)里是不行的,在halt或reboot時(shí),系統(tǒng)會(huì)檢查/var/lock/subsys下有沒有跟以K開頭的服務(wù)名一樣的文件,如果有的話才會(huì)執(zhí)行對應(yīng)的腳本。所以系統(tǒng)啟動(dòng)是需要在/var/lock/subsys下創(chuàng)建跟服務(wù)名一樣的文件,系統(tǒng)關(guān)機(jī)時(shí)才會(huì)執(zhí)行服務(wù)的K腳本。
如果服務(wù)啟動(dòng)了,但是沒有在/var/lock/subsys下創(chuàng)建對應(yīng)的文件,系統(tǒng)關(guān)機(jī)時(shí)也不會(huì)執(zhí)行服務(wù)對應(yīng)的K腳本的,系統(tǒng)執(zhí)行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/,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任。
總結(jié)
以上是生活随笔為你收集整理的linux oracle停启,linux下Oracle自动启动与停止总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle解除表锁死1,解除Oracl
- 下一篇: linux系统主机信任,Linux信任主