- 修改$ORACLE_HOME/bin/dbstart
[oracle@seiang11g ~]$**vim $ORACLE_HOME/bin/dbstart
將ORACLE_HOME_LISTNER=$1
修改爲ORACLE_HOME_LISTNER=$ORACLE_HOME
- 修改$ORACLE_HOME/bin/dbshut
[oracle@seiang11g ~]$**vim $ORACLE_HOME/bin/dbshut
將ORACLE_HOME_LISTNER=$1
修改爲ORACLE_HOME_LISTNER=$ORACLE_HOME
- 修改/etc/oratab文件
[oracle@seiang11g ~]$**vim /etc/oratab
將/u01/app/oracle/product/11.2.0/dbhome_1:N
中最後的N改爲Y,成爲/u01/app/oracle/product/11.2.0/dbhome_1:Y
- 輸入命令dbshut和dbstart測試
[oracle@seiang11g ~]$ dbshut
測試 Oracle監聽停止,進程消失。
[oracle@seiang11g ~]$ dbstart
Oracle監聽啓動,進程啓動。
- 切換到root賬戶建立自啓動腳本
[root@seiang11g init.d]# vim /etc/rc.d/init.d/oracle
添加以下內容(有些值如ORACLE_HOME和ORACLE_USER等根據實際情況可以修改):
#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database
Management System.
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
修改/etc/init.d/oracle服務文件權限
[root@seiang11g ~]# chmod 755 /etc/init.d/oracle
設置爲開機啓動
[root@seiang11g ~]# chkconfig oracle on
注意:
如果在執行chkconfig oralce on或chkconfig –add oracle時出現如下的提示:
則在/etc/rc.d/init.d/oracle腳本中一定要加入下面兩行內容
# chkconfig: 345 99 10
# description: script for the Oracle Instance, Listener
(描述內容可修改)
說明:
# chkconfig: 345 99 10**
指出3,4,5級別啓動這個服務,99是在相應的/etc/rc.d/rcN.d(N爲前面指定的級別,這裏是345)目錄下生成的鏈接文件的序號(啓動優先級別) S99oradbstart,10爲在除前面指出的級別對應的/etc/rc.d/rcN.d(N爲除345之外的級別)目錄生成的鏈接文件的序號(服務停止的優先級別)K10oradbstart
-
進行
service oracle start/stop/restart
測試
Reboot重啓查看Oracle監聽和實例進程均能自動啓動。
參考地址:設置Oracle開機自啓動