Linux下oracle開機自啟動設置


今天在虛擬機安裝完oracle數據庫重啟系統后想進入數據庫卻發現如下錯誤:

出現ORA-01034和ORA-27101的原因是多方面的:主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動。那么如何在Linux啟動時自動啟動Oracle監聽和實例呢?

首先嘗試使用oracle啟動數據庫的命令dbstart,可是發現又報錯如下錯誤:

  ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

  Usage: $ORACLE_HOME/bin/dbstart ORACLE_HOME

錯誤原因很明確,是dbstart腳本文件中ORACLE_HOME_LISTNER的設置有問題,打開文件($ORACLE_HOME/bin/dbstart)找到:ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME即可,同時注意到腳本文件中有如下提示:

所以想開機自動啟動數據庫還必須修改/etc/oratab文件,找到文件中這行(orcl:/opt/oracle/app/product/12.1.0/dbhome_1:N)並把N替換成Y即可,該行是這樣定義的$ORACLE_SID:$ORACLE_HOME:<N|Y>,具體請參照自己oracle的安裝家目錄以及實例名。到這一步開機自啟動已經解決一大半了,接下來還需要在/etc/rc.d/rc.local文件中添加如下兩行才能開機自啟動數據庫:

  su oracle -lc "/opt/oracle/app/product/12.1.0/dbhome_1/bin/lsnrctl start"

  su oracle -lc /opt/oracle/app/product/12.1.0/dbhome_1/bin/dbstart

第一行內容是為了開機啟動數據庫監聽服務,第二行才是為了啟動數據庫,注意第一行因為命令中有空格,所以必須加雙引號。(路徑請根據自己數據庫安裝家目錄修改)

到此全部修改完成,重新啟動Linux系統進入數據庫試試吧!

總結:網上有很多講解怎么設置Linux開機自啟動的,大致有兩類,一種如同上面的方式,還有一種是自己寫啟動腳本,但原理基本是一樣的。  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM