熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle開機自動啟動方法

2022-06-13   來源: Oracle 

  以redhat 和oracle g為例安裝過程參考官方文檔以下是實現oracle自啟動的方法

  配置dbstart和dbshut

  在$ORACLE_HOME/bin中有dbstart和dbshut這兩個腳本more dbstart看一下可以看到

  QUOTE:

  #

  # $Id: dbstartshpp may:: vikrkuma Exp $

  # Copyright (c) Oracle All rights reserved

  #

  ###################################

  #

  # usage: dbstart

  #

  # This is used to start ORACLE from /etc/rc(local)

  # It should ONLY be executed as part of the system boot procedure

  #

  # This will start all databases listed in the oratab file

  # whose third field is a Y If the third field is set to Y and

  # there is no ORACLE_SID for an entry (the first field is a *)

  # then this will ignore that entry

  #

  # This requires that ASM ORACLE_SIDs start with a + and

  # that nonASM instance ORACLE_SIDs do not start with a +

  #

  # If ASM instances are to be started with this it cannot

  # be used inside an rc*d directory and should be invoked from

  # rclocal only Otherwise the CSS service may not be available

  # yet and this will block init from completing the boot

  # cycle

  #

  # Note:

  # Use ORACLE_TRACE=T for tracing this

  #

  # The progress log for each instance bringup plus Error and Warning message[s]

  # are logged in file $ORACLE_HOME/startuplog The error messages related to

  # instance bringup are also logged to syslog (system log module)

  # The Listener log is located at $ORACLE_HOME_LISTNER/listenerlog

  

  可以看出這個腳本是用來啟動oracle服務的包括listenerinstanceasm instances並且可以放到/etc/rc(local)同樣dbshut也是起到關閉服務的作用

  配置系統使這個腳本起作用

  以root編輯/etc/oratab類似 orcl:/u/product//db_:N 這種格式其中orcl是你的ORACLE_SID/u/product//db_是ORACLE_HOME這裡需要把N改為Y即orcl:/u/product//db_:Y這樣

  以oracle編輯$ORACLE_HOME/bin/dbstart找到其中第行:ORACLE_HOME_LISTNER=改為你自己的路徑或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME

  保存腳本以oracle用戶運行dbshut和dbstart看是否能關閉啟動數據庫如果不能一般是參數設置根據報錯找到對應位置更改

  把dbstart和dbshut加到redhat啟動服務中

  經過上一步的配置可以直接用dbstart命令啟動數據listenerinstanceasm instances但是還沒有啟動oracleg的EMORACLE利用web頁面管理數據庫相當方便也是g的一個特色所以應該一並啟動起該服務來

  QUOTE:

  $ORACLE_HOME/bin/emctl start dbconsole

  因此我們可以用rclocal或者redhat服務都可以實現要求的開機啟動下面分別說一下

  利用rclocal直接把dbstart加到rclocal中實現開機自動啟動這裡需要注意的是必須以oracle啟動該腳本

  用root編輯/etc/rclocal添加下面一行

  QUOTE:

  su oracle c /u/product//db_/bin/dbstart

  su oracle c /u/product//db_/bin/emctl start dbconsole

  這裡/u/product//db_需要替換成實際的ORACLE_HOME

  保存並退出後reboot服務器測試一下可以看到當系統啟動以後oracle監聽實例和em都已經起來了

  如果我們不用rclocal也可以加到redhat服務中在/etc/rcd/initd中添加如下腳本文件命名為oracle

  QUOTE:

  #!/bin/sh

  #chkconfig:

  #deion: ORACLE g Server

  ORACLE_HOME=/u/product//db_

  if [ ! f $ORACLE_HOME/bin/dbstart ]

  then

  echo ORACLE cannot start

  exit

  fi

  case $ in

  start)

  echo Starting Oracle Database

  su oracle c $ORACLE_HOME/bin/dbstart

  su oracle c $ORACLE_HOME/bin/emctl start dbconsole

  ;;

  stop)

  echo Stoping Oracle Database

  su oracle c $ORACLE_HOME/bin/emctl stop dbconsole

  su oracle c $ORACLE_HOME/bin/dbshut

  ;;

  esac

  注意其中兩行注釋網上很多腳本因為少了這兩行不能使服務自啟動

  QUOTE:

  #chkconfig:

  #deion: ORACLE g Server

  其中chkconfig 是指腳本將為運行級啟動oracle g服務啟動優先級為關閉優先級為

  然後以root權限:

  QUOTE:

  # cd /etc/rcd

  # ln s /etc/rcd/initd/oracle Soracle

  # chkconfig list oracle

  # chkconfig level on

  重啟系統就可以在啟動的過程中看到 Starting oracle因為我們設置的優先級為一般是最後啟動[OK]以後就可以了因為要啟動emctl可能有點慢等待的時間要稍微長一點

  啟動以後可以以root執行oracle start或者oracle stop來啟動或停止服務


From:http://tw.wingwit.com/Article/program/Oracle/201311/16863.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.