国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Linux下的Oracle啟動腳本及其開機自啟動

2020-07-26 14:22:26
字體:
來源:轉載
供稿:網友

說明:以下操作環境在CentOS 6.4 + Oracle 11gR2(Oracle安裝在ORACLE_BASE=/opt/oracle中,其ORACLE_HOME=/opt/oracle/11g)

用OUI安裝并配置Oracle數據庫后,Oracle就開啟了(包括:數據庫實例、監聽器、EM)。在重啟操作系統之后,Oracle默認是沒有啟動的。使用如下命令查看Oracle相關服務是否已啟動:

ps aux | grep ora_ #若無ora_**_**相關的進程,則oracle數據庫實例未啟動
netstat -tlnup | grep 1521 #若無任何顯示,則監聽器未啟動
lsnrctl status #查看監聽器狀態
netstat -tlnup | grep 1158 #若無任何顯示,則EM未啟動
emctl status dbconsole #查看EM狀態

手工啟動Oracle實例,可用sqlplus建立一個idle instance,然后再用startup啟動,如下:

數據庫實例啟動之后,需啟動監聽器,才能讓遠程用戶建立連接。可使用如下命令啟動監聽器:

復制代碼 代碼如下:

lsnrctl start


Oracle還提供網頁版的管理器,要使用該管理器需啟動相關服務,使用如下命令啟動:
復制代碼 代碼如下:

emctl start dbconsole

 

至此,可在web瀏覽器中輸入:https://{主機IP 或 主機名 或 本地localhost}:1158/em,打開管理器,使用相關帳號登錄進行數據庫查看和管理。
如果每次重啟操作系統都要進行以上操作好麻煩,那么如何讓Oracle作為系統服務在開機的時候自動啟動呢?
Oracle在$ORACLE_HOME/bin下提供許多對數據庫進行操作的腳本,其中dbstart和dbshut可分別用來啟動和關閉數據庫。注意,這兩個腳本已包含監聽器的啟動或關閉,但并未對EM進行相關的操作。使用如下命令:

復制代碼 代碼如下:

/opt/oracle/11g/bin/dbstart /opt/oracle/11g #啟動數據庫實例(包含監聽器)
/opt/oracle/11g/bin/dbshut /opt/oracle/11g #關閉數據庫實例(包括監聽器)

以上命令要成功啟動數據庫實例還得打開Oracle設置的一個關卡:vi /etc/oratab,修改行:

復制代碼 代碼如下:

orcl:/opt/oracle/11g:Y #默認為orcl:/opt/oracle/11g:N

 

以root身份建立開機啟動oracle服務的腳本:vi /etc/init.d/oracle,添加如下腳本:

復制代碼 代碼如下:

#!/bin/sh
#chkconfig: 2345 20 80
#description: Oracle dbstart / dbshut
#以上兩行為chkconfig所需
ORA_HOME=/opt/oracle/11g
ORA_OWNER=oracle
LOGFILE=/var/log/oracle.log
echo "#################################" >> ${LOGFILE}
date +"### %T %a %D: Run Oracle" >> ${LOGFILE}
if [ ! -f ${ORA_HOME}/bin/dbstart ] || [ ! -f ${ORA_HOME}/bin/dbshut ]; then
    echo "Error: Missing the script file ${ORA_HOME}/bin/dbstart or ${ORA_HOME}/bin/dbshut!" >> ${LOGFILE}
    echo "#################################" >> ${LOGFILE}
    exit
fi
start(){
    echo "###Startup Database..."
    su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
    echo "###Done."
    echo "###Run database control..."
    su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl start dbconsole"
    echo "###Done."
}
stop(){
    echo "###Stop database control..."
    su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole"
    echo "###Done."
    echo "###Shutdown Database..."
    su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
    echo "###Done."
}
case "$1" in
    'start')
        start >> ${LOGFILE}

    'stop')
        stop >> ${LOGFILE}

    'restart')
        stop >> ${LOGFILE}
        start >> ${LOGFILE}

esac
date +"### %T %a %D: Finished." >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
echo ""

 

使用如下命令將 /etc/init.d/oracle 置為可執行文件:

復制代碼 代碼如下:

chmod a+x /etc/init.d/oracle

 

至此,可使用如下命令對oracle進行啟動和關閉

復制代碼 代碼如下:

/etc/init.d/oracle start #啟動oracle(包括數據庫實例、監聽器、EM)
/etc/init.d/oracle stop #關閉oracle
/etc/init.d/oracle restart #重啟oracle

 

將 oracle 添加到 chkconfig中:

復制代碼 代碼如下:

chkconfig --add oracle

 

可使用如下命令查看和設置oracle服務的開機啟動級別

復制代碼 代碼如下:

chkconfig | grep oracle #查看oracle服務的開機啟動級別
chkconfig --level 24 oracle off #修改oracle服務的開機啟動級別
chkconfig --level 35 oracle on

 

至此可使用如下命令對oracle的啟動或關閉進行管理

復制代碼 代碼如下:

service oracle start #啟動
service oracle stop #關閉
service oracle restart #重啟

建立連接:

復制代碼 代碼如下:

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   #關機執行
ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   #重啟執行

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐梓县| 抚顺县| 衢州市| 逊克县| 乌什县| 河津市| 广西| 谷城县| 清涧县| 呼图壁县| 乐陵市| 左贡县| 日喀则市| 汤阴县| 渝中区| 龙川县| 惠来县| 仙居县| 高邮市| 平顺县| 平原县| 博乐市| 德钦县| 高平市| 五常市| 汝阳县| 高州市| 木兰县| 张家口市| 新津县| 新竹市| 平昌县| 青神县| 阳新县| 普兰店市| 玉树县| 平顶山市| 汉源县| 灵山县| 兴海县| 富源县|