天天看點

配置 Oracle 11gR2 在 CentOS6 上開機自啟動

要達到oracle随開機自啟動,一般使用11g自帶的dbstart腳本:<code>$oracle_home/bin/dbstart</code>,但要先修改<code>/etc/oratab</code>的内容,将n改成y,表示允許執行個體自啟動,假如有2個執行個體要啟動,再寫一行:

然後在oracle使用者下執行<code>$oracle_home/bin/dbstart</code>即可啟動,日志被記錄在<code>$oracle_home/startup.log</code>。但是,預設情況<code>dbstart</code>和<code>dbshut</code>腳本不能自動啟動或關閉監聽,是以也要加以修改:

同樣也修改dbshut腳本(約第50行):

這兩個腳本在執行時會自動去搜尋<code>/etc/oratab</code>檔案的内容,将這兩個指令分别加入開機啟動和關閉腳本裡。

/etc/rc.local

linux系統開機初始化的最後過程會執行該腳本,加入以下内容:

/etc/rc.local.shutdown

這個腳本時系統裡沒有的,完成的功能是關機自動停止服務,<code>/etc/rc.d/rc.local.shutdown</code>:

讓它運作在<code>0</code>和<code>6</code>運作級别runlevel:

另外網上也有文章不是利用 oracle 自帶的 dbstart 來實作自啟動,而是自己寫 service 腳本,執行 sqlplus 然後運作 shutdown immediate ,個人覺得這有點重複做oracle的事情了;還有把通過類似<code>service oracle start/stop</code>這樣的形式去管理,友善是友善一點,但要知道oracle資料庫輕易不會頻繁重新開機,如有需要,我們更願意自己使用<code>sqlplus</code>連上資料庫,自己執行<code>shutdown</code>指令,因為對資料庫的操作還是以慎重為主,在配置了active data guard等複雜環境下,對備庫也不适用,是以這裡就沒做這個工作。