oracle 11g之instance自動啟動設定

liqilin0429發表於2011-01-18

Linux redhat 5下Oracle11g 自動隨系統啟動
Oracle 11g 安裝完每次都得手動啟動和停止資料庫(dbstart or dbshut),監聽器(lsnrctl),控制檯(emtcl)。 
第一步:進入ORACLE_HOME/bin下修改dbstart
[root@oracle bin]# vi dbstart
# First argument is used to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$1      
#此處將 ORACLE_HOME_LISTNER=$1 修改為 ORACLE_HOME_LISTNER=$ORACLE_HOME
if [ ! $ORACLE_HOME_LISTNER ] ; then
  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
  echo "Usage: $0 ORACLE_HOME"
else
  LOG=$ORACLE_HOME_LISTNER/listener.log

第二步:進入ORACLE_HOME/bin下修改dbshut
[root@oracle bin]# vi dbshut
# The  this to bring down Oracle Net Listener
ORACLE_HOME_LISTNER=$1
#此處將 ORACLE_HOME_LISTNER=$1 修改為 ORACLE_HOME_LISTNER=$ORACLE_HOME
if [ ! $ORACLE_HOME_LISTNER ] ; then
  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener"
  echo "Usage: $0 ORACLE_HOME"
else
  LOG=$ORACLE_HOME_LISTNER/listener.log

第三步:在 /etc/init.d 下新建一個檔案
[root@oracle ~]# cd /etc/init.d
[root@oracle init.d]# vi oracle
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# creator :qilin
# function:starts the oracle dabase deamons
# usage:startup oracle database
# last modify: qilin 2010-10-13
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=pridata
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
     echo "Oracle startup: cannot start"
     exit 1
fi

# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display

case "$1" in
 start)
     # Oracle listener and instance startup
     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
     echo "Oracle Start Succesful!OK."
     ;;
 stop)
     # Oracle listener and instance shutdown
     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
     echo "Oracle Stop Succesful!OK."
     ;;
 reload|restart)
     $0 stop
     $0 start
     ;;
 *)
     echo $"Usage: `basename $0` {start|stop|reload|reload}"
     exit 1
esac
exit 0

第四步:賦予執行許可權
[root@oracle init.d]# chmod 750 /etc/init.d/oracle

第五步:連結
[root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
[root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
執行以下命令:

第六步:新增到服務
[root@oracle init.d]# chkconfig --add oracle         # 新增到服務裡
[root@oracle init.d]# /sbin/chkconfig --list oracle  # 檢視新增的服務

第七步:修改/etc/oratab

修改/etc/oratab將所需啟動的例項修改為Y
pridata:/opt/oracle/product/OraHome:Y


 

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

相關文章