linux下數據庫實例監(jiān)聽開機自啟動設置
目前創(chuàng)新互聯公司已為成百上千家的企業(yè)提供了網站建設、域名、虛擬主機、網站改版維護、企業(yè)網站設計、凌源網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發(fā)展。
2016/5/16 zhanky
腳本介紹
在開始之前,我們先介紹一下幾個會用到的腳本。
oratab
oratab文件是在創(chuàng)建數據庫實例時建立的,在安裝時使用root用戶執(zhí)行root.sh腳本后得到。(如果忘記也可以直接手動創(chuàng)建。)
在$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下。在這里我們通過設置系統開機自動執(zhí)行dbstart腳本文件來實現,開機自動啟動數據實例。
lsnrctl
lsnrctl是安裝數據庫時自帶的啟動數據庫監(jiān)聽的腳本,默認存放在$oracle_home/bin下。在這里我們通過設置系統開機自動執(zhí)行l(wèi)snrctl腳本文件來實現,開機自動啟動數據監(jiān)聽
rc.local
rc.local系統自帶的是開機啟動程序腳本,默認存放在/etc/rc.d下。我們通過在rc.local腳本中添加執(zhí)行啟動數據庫和啟動監(jiān)聽的腳本來實現開機自動開啟數據庫實例和監(jiān)聽。
測試介紹
系統版本: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
因為我這邊環(huán)境中沒有oratab所以手動創(chuàng)建
[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用戶登錄,運行l(wèi)snrctl start 腳本啟用監(jiān)聽。
第二條為:用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、測試驗證,重啟數據庫即可。
然后就完成了數據庫實例和監(jiān)聽的開機自啟動了。