欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下的Oracle啟動(dòng)腳本及其開機(jī)自啟動(dòng)

 更新時(shí)間:2013年11月22日 09:39:09   作者:  
這篇文章主要介紹了Linux下的Oracle啟動(dòng)腳本及其開機(jī)自啟動(dòng)的方法,大家可以參考使用

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

用OUI安裝并配置Oracle數(shù)據(jù)庫后,Oracle就開啟了(包括:數(shù)據(jù)庫實(shí)例、監(jiān)聽器、EM)。在重啟操作系統(tǒng)之后,Oracle默認(rèn)是沒有啟動(dòng)的。使用如下命令查看Oracle相關(guān)服務(wù)是否已啟動(dòng):

ps aux | grep ora_ #若無ora_**_**相關(guān)的進(jìn)程,則oracle數(shù)據(jù)庫實(shí)例未啟動(dòng)
netstat -tlnup | grep 1521 #若無任何顯示,則監(jiān)聽器未啟動(dòng)
lsnrctl status #查看監(jiān)聽器狀態(tài)
netstat -tlnup | grep 1158 #若無任何顯示,則EM未啟動(dòng)
emctl status dbconsole #查看EM狀態(tài)

手工啟動(dòng)Oracle實(shí)例,可用sqlplus建立一個(gè)idle instance,然后再用startup啟動(dòng),如下:

數(shù)據(jù)庫實(shí)例啟動(dòng)之后,需啟動(dòng)監(jiān)聽器,才能讓遠(yuǎn)程用戶建立連接??墒褂萌缦旅顔?dòng)監(jiān)聽器:

復(fù)制代碼 代碼如下:

lsnrctl start


Oracle還提供網(wǎng)頁版的管理器,要使用該管理器需啟動(dòng)相關(guān)服務(wù),使用如下命令啟動(dòng):
復(fù)制代碼 代碼如下:

emctl start dbconsole

 

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

復(fù)制代碼 代碼如下:

/opt/oracle/11g/bin/dbstart /opt/oracle/11g #啟動(dòng)數(shù)據(jù)庫實(shí)例(包含監(jiān)聽器)
/opt/oracle/11g/bin/dbshut /opt/oracle/11g #關(guān)閉數(shù)據(jù)庫實(shí)例(包括監(jiān)聽器)

以上命令要成功啟動(dòng)數(shù)據(jù)庫實(shí)例還得打開Oracle設(shè)置的一個(gè)關(guān)卡:vi /etc/oratab,修改行:

復(fù)制代碼 代碼如下:

orcl:/opt/oracle/11g:Y #默認(rèn)為orcl:/opt/oracle/11g:N

 

以root身份建立開機(jī)啟動(dòng)oracle服務(wù)的腳本:vi /etc/init.d/oracle,添加如下腳本:

復(fù)制代碼 代碼如下:

#!/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 置為可執(zhí)行文件:

復(fù)制代碼 代碼如下:

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

 

至此,可使用如下命令對oracle進(jìn)行啟動(dòng)和關(guān)閉

復(fù)制代碼 代碼如下:

/etc/init.d/oracle start #啟動(dòng)oracle(包括數(shù)據(jù)庫實(shí)例、監(jiān)聽器、EM)
/etc/init.d/oracle stop #關(guān)閉oracle
/etc/init.d/oracle restart #重啟oracle

 

將 oracle 添加到 chkconfig中:

復(fù)制代碼 代碼如下:

chkconfig --add oracle

 

可使用如下命令查看和設(shè)置oracle服務(wù)的開機(jī)啟動(dòng)級(jí)別

復(fù)制代碼 代碼如下:

chkconfig | grep oracle #查看oracle服務(wù)的開機(jī)啟動(dòng)級(jí)別
chkconfig --level 24 oracle off #修改oracle服務(wù)的開機(jī)啟動(dòng)級(jí)別
chkconfig --level 35 oracle on

 

至此可使用如下命令對oracle的啟動(dòng)或關(guān)閉進(jìn)行管理

復(fù)制代碼 代碼如下:

service oracle start #啟動(dòng)
service oracle stop #關(guān)閉
service oracle restart #重啟

建立連接:

復(fù)制代碼 代碼如下:

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   #關(guān)機(jī)執(zhí)行
ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   #重啟執(zhí)行

相關(guān)文章

最新評(píng)論