溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle 11.2.0.3 設置啟動腳本使ORACLE自動啟動

發布時間:2020-07-29 03:10:13 來源:網絡 閱讀:473 作者:sfih 欄目:關系型數據庫

Linux下安裝完后每次都得通過下面命令來啟動對應的服務:

啟動服務 dbstart 

啟動監視器 lsnrctl start

啟動控制臺 emctl start dbconsole

本文以Red Hat Enterprise Linux 6.4 (x86_64)+oracle11G為例設置oracle開機自動啟動:

方法一:

使用dbstart命令用于啟動,具體方法如下

首先修改/etc/oratab文件,將orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N中的N改成Y,然后在/etc/rc.local添加下面幾行

su - oracle -c '$ORACLE_HOME/bin/dbstart'
su - oracle -c '$ORACLE_HOME/bin/lsnrctl start'
su - oracle -c '$ORACLE_HOME/bin/emctl start dbconsole'


如果沒有設置ORACLE_HOMEH環境變量,用絕對路徑取代即可,如/dba/app/oracle/product/..

初次運行dbstart時,一般會有這個報錯:

su - oracle -c "dbstart"

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

這個提示說明

啟動oracle服務的同時沒有啟動oracle監聽服務,因此如果想在啟動oracle服務的同時i啟動監聽

就需要修改dbstart/dbshut,將ORACLE_HOME_LISTNER值設為$ORACLE_HOME(原來是為$1)

方法二:  

vi /etc/rc.local

把下面的內容加入

su - oracle -c "
export ORACLE_SID=orcl
sqlplus /nolog <<EOF
connect / as sysdba
startup;
exit;
EOF"
su - oracle -c '$ORACLE_HOME/bin/lsnrctl start'
su - oracle -c '$ORACLE_HOME/bin/emctl start dbconsole'


說明下上面腳本:

在shell腳本中,通常將EOF與 << 結合使用,表示后續的輸入作為子命令或子Shell的輸入,直到遇到EOF為止,再返回到主Shell。

EOF只是一個分界符,當然也可以用abcde替換。

當shell遇到<<時,它知道下一個詞是一個分界符。在該分界符以后的內容都被當作輸入,直到shell又看到該分界符(位于單獨的一行)。

此分界符可以是所定義的任何字符串,其實,不一定要用EOF,只要是“內容段”中沒有出現的字符串,都可以用來替代EOF,完全可以換成abcde之類的字符串,只是一個起始和結束的標志罷了。

1,command<<EOF

(內容)

EOF


例如:

#!/bin/bash
#Filename:do.sh
su - oracle -c "
export ORACLE_SID=orcl
sqlplus /nolog <<EOF
connect / as sysdba
startup;
exit;
EOF"
sleep 5
su - oracle -c 
lsnrctl start

說明:

將“內容段”整個作為命令的輸入。

用su命令讀取整段命令,并逐行執行。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女