佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動的方法

Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動的方法

熱門標(biāo)簽:AI電銷 服務(wù)外包 呼叫中心市場需求 鐵路電話系統(tǒng) 百度競價排名 地方門戶網(wǎng)站 Linux服務(wù)器 網(wǎng)站排名優(yōu)化

一、Windows系統(tǒng)

Oracle提供了隨操作系統(tǒng)啟動而啟動的功能,在Windows和Linux中,分別有不同的設(shè)置方法。

在Windows中,可以修改“我的電腦-->管理-->服務(wù)-->OracleService$ORACLE_SID”,或直接使用Win+R鍵打開運(yùn)行窗口,輸入services.msc即可打開服務(wù),找到相應(yīng)的Oracle服務(wù),然后將其屬性中的啟動類型修改成自動。一般在Windows系統(tǒng)上安裝完后會自動設(shè)置成自動。

二、Linux系統(tǒng)

對于Linux/Unix操作系統(tǒng),如果想設(shè)置自動重啟,那么該如何操作呢?對此Oracle提供了dbstart命令用于啟動。

首先,第一步,需要修改/etc/oratab文件,將N修改為Y

[root@oracle ~]# vim /etc/oratab
LHR11G:/u01/app/oracle/product/11.2.0.4/dbhome_1:Y     #將N改為Y

文件/etc/oratab由root.sh腳本創(chuàng)建,在用dbca命令創(chuàng)建實例時也會更新這個文件。當(dāng)$ORACLE_SID:$ORACLE_HOME:N|Y>設(shè)置為Y時,允許實例自啟動,當(dāng)設(shè)置為N時,則不允許自啟動。這個文件里的配置僅僅起一個開關(guān)的作用,其并不會具體的執(zhí)行啟動和關(guān)閉,具體的操作由$ORACLE_HOME/bin/dbstart和dbshut腳本來實現(xiàn)。這2個腳本在執(zhí)行時會檢查/etc/oratab文件里的配置,為Y時才能繼續(xù)執(zhí)行。

接下來需要配置開機(jī)啟動文件,有2種辦法:

方法1:配置/etc/rc.d/rc.local文件(推薦)

在配置了/etc/oratab文件后,然后將以下腳本添加到/etc/rc.d/rc.local或/etc/rc.local文件中(/etc/rc.local是/etc/rc.d/rc.local的軟連接文件):

cat >> /etc/rc.d/rc.local "EOF"
# 重啟DB
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1
su oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

# 重啟EM
export ORACLE_UNQNAME=LHR11G
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
EOF

該方法需要注意以下問題:
1、若環(huán)境中沒有創(chuàng)建EM,則可以不用添加ORACLE_UNQNAME和emctl這2行

2、從Oracle 12c開始,由于EMDE(Enterprise Manager Database Express)替代了原有的EMDC(Enterprise Manager Database Control),所以,不再單獨(dú)設(shè)置EM相關(guān)內(nèi)容,只需要配置DB即可,例如:

cat >> /etc/rc.d/rc.local "EOF"
# 重啟DB
export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1
su oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
EOF

3、在CentOS 7中,/etc/rc.d/rc.local的權(quán)限被降低了,所以需要執(zhí)行如下命令賦予其可執(zhí)行權(quán)限:

chmod +x /etc/rc.d/rc.local

最后就可以重啟OS做測試工作了。

方法2:配置service服務(wù)

1. 建立啟動腳本

使用root用戶創(chuàng)建腳本/etc/rc.d/init.d/oracle,腳本內(nèi)容如下,注意修改第6-9行的相關(guān)內(nèi)容:

#!/bin/bash 
# chkconfig: 2345 99 10 
# description: Startup Script for oracle Databases 
# /etc/rc.d/init.d/oracle

export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_UNQNAME=LHR11G

echo " " >> /var/log/oraclelog
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog

case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK" 
;;

stop)
echo "-----shutdown oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelogg
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK" 
;;

restart)
echo "-----shutdown oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog

echo "-----startup oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK" 
;;

*)
echo "Usage: 'basename $0' start|stop|restart" 
exit 1
esac
exit 0

2. 給腳本設(shè)置權(quán)限

[root@oracle ~]# chmod 755 /etc/rc.d/init.d/oracle

3.建立服務(wù)

[root@oracle ~]# chkconfig --add oracle
[root@oracle ~]# chkconfig oracle on
[root@oracle ~]# chkconfig --list oracle
oracle          0:off   1:off   2:on    3:on    4:on    5:on    6:off

4.檢查是否生效

先使用root用戶測試服務(wù)是否生效:

[root@oracle ~]# service oracle stop
[root@oracle ~]# service oracle start
[root@oracle ~]# service oracle restart

再重啟OS,驗證是否生效。

三、Oracle 18c版本

從Oracle 18c開始,對于單機(jī)環(huán)境來說,可以使用rpm包來直接安裝Oracle軟件,在安裝完成后,會生成一個腳本,類似 /etc/init.d/oracledb_$ORACLE_SID-$ORACLE_VERSION,該腳本可以用來啟動和關(guān)閉Oracle軟件,所以也可以使用該腳本來直接配置開機(jī)啟動:

cat >> /etc/rc.d/rc.local "EOF"
/etc/init.d/oracledb_ORCLCDB-18c start
/etc/init.d/oracledb_lhrsdb-18c start
EOF

chmod +x /etc/rc.d/rc.local

重啟OS,測試通過。

四、總結(jié)

對于這2種方法,需要注意的幾個問題:

  1. 若有多個實例,那么多個實例都會自動啟動。
  2. 監(jiān)聽也會自動啟動。
  3. 若數(shù)據(jù)庫小于18c,則重啟的詳細(xì)日志為:$ORACLE_HOME/shutdown.log$ORACLE_HOME/startup.log。從Oracle 18c開始,dbstart的日志文件在$ORACLE_HOME/rdbms/log/startup.log
  4. oracle用戶的環(huán)境變量可以不用配置。
  5. ORACLE_UNQNAME的作用是設(shè)置EM的環(huán)境變量,emctl是啟動OEM,若沒有則可以不用設(shè)置。
  6. ORACLE_HOME的作用是設(shè)置數(shù)據(jù)庫監(jiān)聽的環(huán)境變量。
  7. 對于Oracle 10.2.0.1來說,監(jiān)聽不能自動啟動。需要修改腳本$ORACLE_HOME/bin/dbstart,修改ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle為“ORACLE_HOME_LISTNER=$1
  8. 對于ASM、RAC環(huán)境,只需要將數(shù)據(jù)庫資源注冊到CRS中,即可實現(xiàn)開機(jī)啟動。
  9. 從Oracle 18c開始,可以使用腳本 /etc/init.d/oracledb_$ORACLE_SID-$ORACLE_VERSION來啟動Oracle數(shù)據(jù)庫。
  10. 以上方法在Oracle 10g、11g、12cR1(12.1.0.2)、12cR2(12.2.0.1)、18c(12.2.0.2)和19c(12.2.0.3)中測試通過。

到此這篇關(guān)于Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動的方法的文章就介紹到這了,更多相關(guān)Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • oracle 11g的警告日志和監(jiān)聽日志的刪除方法
  • Oracle監(jiān)聽器服務(wù)不能啟動的解決方法
  • linux服務(wù)器開機(jī)啟動oracle的設(shè)置方法

標(biāo)簽:湖南 湘潭 黃山 仙桃 衡水 崇左 銅川 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    临西县| 道真| 商水县| 丹凤县| 邢台市| 沈阳市| 大埔区| 日土县| 响水县| 盐山县| 紫阳县| 东源县| 化德县| 灵武市| 宜兴市| 安化县| 耿马| 额尔古纳市| 崇明县| 偃师市| 达州市| 邻水| 阳春市| 六安市| 宁德市| 南召县| 诸暨市| 上高县| 南陵县| 海门市| 晋中市| 毕节市| 平泉县| 吐鲁番市| 南岸区| 永嘉县| 宜君县| 晴隆县| 科尔| 河曲县| 浮梁县|