linux下數據庫實例監聽開機自啓動設置
2016/5/16 zhanky
腳本介紹
在開始之前,我們先介紹一下幾個會用到的腳本。
oratab
oratab文件是在創建數據庫實例時建立的,在安裝時使用root用戶執行root.sh腳本後得到。(如果忘記也可以直接手動創建。)
在$ORACLE_HOME/bin目錄下的$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut需要調用/etc/oratab文件,如果不存在,dbstart和dbshut將失敗,報錯信息爲/etc/oratab" is notaccessible。
oratab的格式爲: ORACLE_SID:ORACLE_HOME:AUTO
如 果需要自動啓動數據庫,則將AUTO設爲Y,在調用dbstart命令才生效。dbstart根據/etc/oratab中的配置來啓動相應的數據庫,選 項只是能不能用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut來啓動和關閉數據庫的開關。
如果不用dbstart腳本啓動數據庫,而是用自己的腳本來啓動,根本不需要oratab文件。
dbstart
dbstart是安裝數據庫時自帶的啓動數據庫實例的腳本,默認存放在$oracle_home/bin下。在這裏我們通過設置系統開機自動執行dbstart腳本文件來實現,開機自動啓動數據實例。
lsnrctl
lsnrctl是安裝數據庫時自帶的啓動數據庫監聽的腳本,默認存放在$oracle_home/bin下。在這裏我們通過設置系統開機自動執行lsnrctl腳本文件來實現,開機自動啓動數據監聽
rc.local
rc.local系統自帶的是開機啓動程序腳本,默認存放在/etc/rc.d下。我們通過在rc.local腳本中添加執行啓動數據庫和啓動監聽的腳本來實現開機自動開啓數據庫實例和監聽。
測試介紹
系統版本:linuxredhat 5.4 x64
數據庫版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
實例名:test
ORACLE_HOME:/u01/app/oracle/product/11.2.0/dbhome_1
測試步驟
1、修改/oratab
因爲我這邊環境中沒有oratab所以手動創建
[oracle@zky /]$ vi /etc/oratab [oracle@zky /]$ cat /etc/oratab test:/u01/app/oracle/product/11.2.0/dbhome_1:Y |
2、編輯rc.local
標紅地方爲新加的內容。
第一條爲:用oracle用戶登錄,運行lsnrctl start 腳本啓用監聽。
第二條爲:用oracle用戶登錄,運行dbstart啓動數據庫
[root@zky /]$ vi /etc/rc.d/rc.local [root@zky /]$ cat /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff.
touch /var/lock/subsys/local su - oracle -c "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start" su - oracle -c "/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart startup" [root@zky /]$ |
3、測試驗證,重啓數據庫即可。
然後就完成了數據庫實例和監聽的開機自啓動了。