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.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8570952/viewspace-910635/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux平臺下監聽器和Oracle的自動啟動與停止LinuxOracle
- linux下 Oracle自動啟動與停止(經試驗可以執行在oracle9 10 11上)LinuxOracle
- linux下oracle的自動啟動LinuxOracle
- linux自動automatic啟動停止多個oracle例項LinuxOracle
- 菜鳥經驗:oracle與weblogic自動啟動與停止(轉)OracleWeb
- Linux下開機自動啟動OracleLinuxOracle
- Linux下oracle庫自啟動LinuxOracle
- oracle 啟動停止Oracle
- linux 下oracle10g自動啟動LinuxOracle
- oracle for linux 自動啟動OracleLinux
- linux oracle 自動啟動LinuxOracle
- Linux下設定Oracle自啟動LinuxOracle
- linux環境下ORACLE自啟動LinuxOracle
- Linux 下oracle自啟動指令碼LinuxOracle指令碼
- Oracle之 服務啟動&停止指令碼與開機自啟動(單例項)Oracle指令碼單例
- Oracle TNSListener服務啟動後自動停止問題Oracle
- linux下新增oracle自啟動指令碼LinuxOracle指令碼
- PostgreSQL:啟動與停止SQL
- Linux 下 自動啟動oracle資料配置說明LinuxOracle
- ORACLE RAC環境下節點自動重啟問題總結Oracle
- linux下如何自動啟動db!Linux
- 開機自動啟動ORACLE ON LinuxOracleLinux
- windows下oracle自動啟動指令碼WindowsOracle指令碼
- Linux下Oracle隨機自動啟動指令碼設定LinuxOracle隨機指令碼
- Linux 下 Oracle隨系統自動啟動和關閉LinuxOracle
- Linux Oracle 隨系統自動啟動LinuxOracle
- linux 配置oracle+asm自動啟動LinuxOracleASM
- linux下開機自動開啟單機oracleLinuxOracle
- Linux 下Oracle 開機自啟動 與 oratab, dbstart 指令碼 說明LinuxOracle指令碼
- [springboot]一啟動就自動停止了Spring Boot
- 四、Docker的啟動與停止Docker
- AIX下自動啟動/停止Oracle資料庫AIOracle資料庫
- oracle在AIX下的自啟動OracleAI
- Solaris下設定Oracle自啟動Oracle
- 總結下 ui 自動化驅動架構UI架構
- oracle 啟動篇總結(原創)Oracle
- RedHat54下設定Oracle自動啟動RedhatOracle
- UNIX自動啟動oracleOracle