【DB寶49】Oracle如何設(shè)置DB酥筝、監(jiān)聽和EM開機(jī)啟動

[toc]

一、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è)置成自動。

image

二沪编、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)建實(shí)例時也會更新這個文件饭宾。當(dāng)$ORACLE_SID:$ORACLE_HOME:<N|Y>設(shè)置為Y時批糟,允許實(shí)例自啟動,當(dāng)設(shè)置為N時看铆,則不允許自啟動徽鼎。這個文件里的配置僅僅起一個開關(guān)的作用,其并不會具體的執(zhí)行啟動和關(guān)閉弹惦,具體的操作由$ORACLE_HOME/bin/dbstart和dbshut腳本來實(shí)現(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辟躏,驗(yàn)證是否生效。

三土全、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. 若有多個實(shí)例项鬼,那么多個實(shí)例都會自動啟動哑梳。
  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中,即可實(shí)現(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)中測試通過垮卓。

About Me


● 本文作者:小麥苗垫桂,部分內(nèi)容整理自網(wǎng)絡(luò),若有侵權(quán)請聯(lián)系小麥苗刪除
● 本文原始發(fā)表于個人微 信公眾號(DB寶)上
● QQ群號: 230161599 粟按、618766405诬滩,微信群私聊
● 個人QQ號(646634621),微 信號(db_bao)灭将,注明添加緣由
● 版權(quán)所有疼鸟,歡迎分享本文,轉(zhuǎn)載請保留出處

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宗侦,一起剝皮案震驚了整個濱河市愚臀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌矾利,老刑警劉巖姑裂,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異男旗,居然都是意外死亡舶斧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門察皇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茴厉,“玉大人,你說我怎么就攤上這事什荣》海” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵稻爬,是天一觀的道長嗜闻。 經(jīng)常有香客問我,道長桅锄,這世上最難降的妖魔是什么琉雳? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮友瘤,結(jié)果婚禮上翠肘,老公的妹妹穿的比我還像新娘。我一直安慰自己辫秧,他們只是感情好束倍,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般肌幽。 火紅的嫁衣襯著肌膚如雪晚碾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天喂急,我揣著相機(jī)與錄音格嘁,去河邊找鬼。 笑死廊移,一個胖子當(dāng)著我的面吹牛糕簿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狡孔,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼懂诗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苗膝?” 一聲冷哼從身側(cè)響起殃恒,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辱揭,沒想到半個月后离唐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡问窃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年亥鬓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片域庇。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡嵌戈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出听皿,到底是詐尸還是另有隱情熟呛,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布尉姨,位于F島的核電站惰拱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏啊送。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一欣孤、第九天 我趴在偏房一處隱蔽的房頂上張望馋没。 院中可真熱鬧,春花似錦降传、人聲如沸篷朵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽声旺。三九已至笔链,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腮猖,已是汗流浹背鉴扫。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澈缺,地道東北人坪创。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像姐赡,于是被迫代替她去往敵國和親莱预。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容