Linux 下 Oracle隨系統自動啟動和關閉

wuweilong發表於2012-04-05
Linux 下實現Oracle隨系統自動啟動和關閉
實現如下目的:
    a、實現開啟oracle例項自啟動
    b、關閉作業系統或重啟作業系統前能夠正常關閉Oracle資料庫

a、實現系統啟動oracle例項自啟動步驟:
1、修改Oracle系統配置檔案/etc/oratab內容,將最後一行中最後一個字元的N改為Y
root使用者登入修改
#vi /etc/oratab
由如下:
wwl:/oracle/orahome/10.2.0/db_1:N
改為如下並儲存退出
wwl:/oracle/orahome/10.2.0/db_1:Y

2、redhat修改/etc/rc.d/rc.local檔案,新增如下內容即可:
   suse 修改/etc/init.d/after.local,新增如下內容即可:
#vi /etc/rc.d/rc.local
su -c "dbstart" - oracle

3、切換到oracle使用者登入修改$ORACLE_HOME/bin/dbstart,找到ORACLE_HOME_LISTNER=,將值改為ORACLE_HOME的路徑,或環境變數。
#su - oracle
$vi $ORACLE_HOME/biin/dbstart
# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME   ---就是修改這裡喲,用$ORACLE_HOME或絕對路徑都可以喲
if [ ! $ORACLE_HOME_LISTNER ] ; then
  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
else
  LOG=$ORACLE_HOME_LISTNER/listener.log
  # Start Oracle Net Listener
  if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
    echo "$0: Starting Oracle Net Listener" >> $LOG 2>&1
    $ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG 2>&1 &
    export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`
  else
    echo "Failed to auto-start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr"
  fi
fi
b、實現系統關閉oracle例項自關閉步驟:
1、建立k01orashut檔案,將su -c "dbshut" - oracle 命令寫入該檔案
vi /etc/init.d/k01orashut
新增
su -c "dbshut" - oracle
2、修改許可權為可執行
#chown 777 /etc/rc.d/init.d/k01orashut

3、進入/etc/rc3.d/目錄,建立關機執行命令連線
#ln -s /etc/rc.d/init.d/k01orashut

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20674423/viewspace-720389/,如需轉載,請註明出處,否則將追究法律責任。

相關文章