真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Oracle11g數(shù)據(jù)庫隨系統(tǒng)自動(dòng)啟動(dòng)與關(guān)閉的設(shè)置方法

備注:此文根據(jù)網(wǎng)上文章實(shí)踐并修改所成。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了尖扎免費(fèi)建站歡迎大家使用!

RHEL6.8 64bit+Oracle Database 11g Enterprise Edition Release 11.2.0.1.0

Oracle 11g系統(tǒng)自動(dòng)啟動(dòng)與關(guān)閉的設(shè)置方法

第一步:要在Linux中設(shè)置允許ORACLE系統(tǒng)自動(dòng)啟動(dòng),因?yàn)槟J(rèn)情況下是設(shè)置為不允許的。

1.root賬戶下修改/etc/oratab文件:

# vi /etc/oratab

找到:orcl=/db/app/oracle/product/11.1.0/db_1 :N

改為:orcl=/db/app/oracle/product/11.1.0/db_1 :Y

就是將最后的N改為Y,將不允許自動(dòng)啟動(dòng)改為允許自動(dòng)啟動(dòng)。

2.修改Oracle自帶的啟動(dòng)與關(guān)閉腳本,分別是dbstart和dbshut;

執(zhí)行這兩個(gè)腳本就可以實(shí)現(xiàn)ORACLE腳本的啟動(dòng)與關(guān)閉。

在oracle賬戶下修改$ORACLE_HOME/bin/dbstart文件:

$ vi $ORACLE_HOME/bin dbstart

找到: ORACLE_HOME_LISTNER=$1

改為:ORACLE_HOME_LISTNER=$ORACLE_HOME

之所以做這一步,是因?yàn)樵谶@個(gè)腳本自動(dòng)生成的時(shí)候,也就是Oracle被安裝進(jìn)Linux的時(shí)候,這個(gè)腳本并不知道你的ORACLE_HOME_LISTNER是什么,現(xiàn)在安裝后要將這個(gè)參數(shù)顯示的寫明,這樣就不會(huì)在執(zhí)行這個(gè)腳本的時(shí)候報(bào)出ORACLE_HOME_LISTNER沒有被指定的錯(cuò)誤了。

注意:dbstart和dbshut腳本在10g版本之后,已經(jīng)將監(jiān)聽器的啟動(dòng)與關(guān)閉合并進(jìn)數(shù)據(jù)庫實(shí)例的啟動(dòng)與關(guān)閉腳本里面了,而不再是單獨(dú)分開的了。

同樣的方式,也要修改dbshut的這個(gè)參數(shù)。這里就不再詳細(xì)寫出了,腳本在同一個(gè)目錄下。

第二步:寫一個(gè)腳本,把它注冊(cè)為一個(gè)系統(tǒng)服務(wù),讓它在開機(jī)與關(guān)機(jī)的時(shí)候運(yùn)行。它的作用就是調(diào)用并執(zhí)行dbstart和dbshut。這樣不就實(shí)現(xiàn)了數(shù)據(jù)庫啟動(dòng)與關(guān)閉了。

1.創(chuàng)建腳本名為oracle,腳本被放在/etc/init.d目錄中。

腳本代碼如下:

#!/bin/bash

# chkconfig: 2345 96 11

# description:Startup Script for oracle Databases

#/etc/rc.d/init.d/oradbstart

exportORACLE_BASE=/u01/app/oracle/

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

exportORACLE_SID=ORDB

exportPATH=$PATH:$ORACLE_HOME/bin

case "$1"in

 

start)

echo"-----startup oracle-----">> /var/log/oraclelog

su - oracle -c"$ORACLE_HOME/bin/dbstart"

touch /var/lock/subsys/oracle

echo"-----startup oracle successful-----">> /var/log/oraclelog

echo "OK"

;;

 

stop)

echo"-----shutdwn oracle-----">> /var/log/oraclelog

su - oracle -c"$ORACLE_HOME/bin/dbshut"

rm -f /var/lock/subsys/oracle

echo"-----shutdown oracle successful-----">> /var/log/oraclelog

echo "OK"

;;

 

reload|restart)

$0 stop

$1 start

;;

 

*)

echo "Usage:'basename $0' start|stop|reload|restart"

exit 1

esac

exit 0

保存內(nèi)容并退出。

現(xiàn)在,我要對(duì)這段腳本做一個(gè)關(guān)鍵解釋:

第一:# chkconfig: 2345 99 10 雖是一行注釋,但是確實(shí)關(guān)鍵的必不可少的一行,除非你不用chkconfig命令來自動(dòng)生成符號(hào)連接文件,而是完全采用手工創(chuàng)建。否則沒有這一行,執(zhí)行chkconfig系統(tǒng)將會(huì)報(bào)出oracle沒有chkconfig服務(wù)權(quán)限的錯(cuò)誤。

第二:su - oracle -c $ORACLE_HOME/bin/dbstart和touch /var/lock/subsys/oracle這兩行的作用是首先執(zhí)行dbstart腳本啟動(dòng)oracle,然后在服務(wù)活動(dòng)列表目錄中創(chuàng)建一個(gè)與oracle這個(gè)服務(wù)同名的一個(gè)文件,表示這個(gè)服務(wù)是活動(dòng)的,也就是被啟動(dòng)的。

第三:su - oracle -c $ORACLE_HOME/bin/dbshut 和rm -f /var/lock/subsys/oracle這兩行的作用是首先執(zhí)行dbshut腳本關(guān)閉oracle,然后從服務(wù)活動(dòng)列表目錄中刪除那個(gè)與oracle同名的那個(gè)文件,表示這個(gè)服務(wù)不是活動(dòng)的,也就是已經(jīng)被關(guān)閉。

那么為什么要做touch /var/lock/subsys/oracle和rm -f /var/lock/subsys/oracle這兩步呢?原因是跟Linux系統(tǒng)的機(jī)制有關(guān)的:Linux的判別一個(gè)服務(wù)是否被啟動(dòng)的依據(jù)是在/var/lock/subsys/目錄下是否有與服務(wù)名相同的文件,若有則表示這個(gè)服務(wù)已經(jīng)被啟動(dòng)了,在系統(tǒng)關(guān)閉的時(shí)候,Linux會(huì)把這里面列出的服務(wù)全部關(guān)閉,并刪掉與服務(wù)同名的文件。若一個(gè)服務(wù)被啟動(dòng)了,但卻在這個(gè)目錄里沒有那個(gè)服務(wù)的同名文件,則不會(huì)關(guān)閉那個(gè)服務(wù)。

網(wǎng)上的文章均將這個(gè)地方設(shè)置錯(cuò)了,所以會(huì)發(fā)現(xiàn),Oracle可以隨系統(tǒng)啟動(dòng)了,但卻沒有隨系統(tǒng)關(guān)閉。

分析了/etc/rc.d/rc.local后才發(fā)現(xiàn)這個(gè)原理的。

經(jīng)過試驗(yàn),果然如此。再分析MySQL的啟動(dòng)與關(guān)閉腳本也是這樣做的,最終恍然大悟。原來如此。這個(gè)地方請(qǐng)大家注意了。

最后,就是將這個(gè)腳本注冊(cè)成為一個(gè)系統(tǒng)服務(wù)就可以了,方法有二:

其一:先給腳本分配可以被執(zhí)行的權(quán)限。執(zhí)行下面命令:

代碼如下:

#su - root

chown oracle /etc/init.d/oracle

chmod 775 /etc/init.d/oracle

再創(chuàng)建符號(hào)鏈接文件。

chkconfig --add /etc/init.d/oracle,執(zhí)行這個(gè)命令就需要你在腳本中寫上

# chkconfig: 2345 99 10 了。這樣當(dāng)這個(gè)命令被執(zhí)行的時(shí)候,會(huì)去oracle文件中尋找這行注釋,并解析這行注釋,根據(jù)解析結(jié)果分別在/etc/rc.d/rc2.d;/etc/rc.d/rc3.d;/etc/rc.d/rc4.d;/etc/rc.d/rc5.d中創(chuàng)建符號(hào)連接文件S99oracle文件,這個(gè)文件是系統(tǒng)啟動(dòng)時(shí)要執(zhí)行的,其實(shí)這個(gè)文件是指向/etc/init.d/oracle的,啟動(dòng)的時(shí)候系統(tǒng)向這個(gè)文件發(fā)送一個(gè)start參數(shù),也就執(zhí)行了oracle文件中的start分支了。

另外還會(huì)在/etc/rc.d/rc0.d;/etc/rc.d/rc1.d;/etc/rc.d/rc6.d中創(chuàng)建K10oracle文件,這個(gè)文件時(shí)系統(tǒng)關(guān)閉時(shí)要執(zhí)行的,其實(shí)這個(gè)文件也是指向/etc/init.d/oracle的,關(guān)閉的時(shí)候系統(tǒng)向這個(gè)文件發(fā)送一個(gè)stop參數(shù),也就執(zhí)行了oracle文件中的stop分支了。

我想你應(yīng)該明白# chkconfig: 2345 99 10 中這些數(shù)字的含義了吧:

指出2,3,4,5級(jí)別啟動(dòng)這個(gè)服務(wù),99是在相應(yīng)的/etc/rc.d/rcN.d(N為前面指定的級(jí)別,這里是2345)目錄下生成的鏈接文件的序號(hào)(啟動(dòng)優(yōu)先級(jí)別)S99oracle,10為在除前面指出的級(jí)別對(duì)應(yīng)的/etc/rc.d/rcN.d(N為除2345之外的級(jí)別)目錄生成的鏈接文件的序號(hào)(服務(wù)停止的優(yōu)先級(jí)別)K10oracle。至于為什么在這些目錄中創(chuàng)建文件和文件的命名規(guī)則,這就要您對(duì)Linux的系統(tǒng)啟動(dòng)流程有一個(gè)熟悉的了解了,在這就不詳談了。

其二:若您想嘗試一下手動(dòng)創(chuàng)建符號(hào)連接文件的樂趣,請(qǐng)執(zhí)行如下命令:

代碼如下:

#su - root

ln -s /etc/init.d/oracle/etc/rc.d/rc2.d/S99oracle

ln -s /etc/init.d/oracle/etc/rc.d/rc3.d/S99oracle

ln -s /etc/init.d/oracle/etc/rc.d/rc4.d/S99oracle

ln -s /etc/init.d/oracle/etc/rc.d/rc5.d/S99oracle

ln -s /etc/init.d/oracle/etc/rc.d/rc0.d/K10oracle

ln -s /etc/init.d/oracle/etc/rc.d/rc1.d/K10oracle

ln -s /etc/init.d/oracle/etc/rc.d/rc6.d/K10oracle

其實(shí)手動(dòng)這樣操作作用效果和執(zhí)行chkconfig --add oracle是一樣的。

到此,所有設(shè)置就完成了,下面進(jìn)行一下測試:

#cd /etc/init.d

sh oracle start 或者service oracle start

執(zhí)行后,看看/var/log目錄下的oraclelog文件,里面是不是有腳本的啟動(dòng)分支輸出信息呢?

sh oracle stop或者service oracle stop

執(zhí)行后,看看/var/log目錄下的oraclelog文件,里面是不是有腳本的關(guān)閉分支輸出信息呢?

若看到信息,表示您設(shè)置成功了。若沒有,請(qǐng)?jiān)僮屑?xì)設(shè)置一遍,并注意文件的權(quán)限問題。 


當(dāng)前文章:Oracle11g數(shù)據(jù)庫隨系統(tǒng)自動(dòng)啟動(dòng)與關(guān)閉的設(shè)置方法
當(dāng)前路徑:http://weahome.cn/article/gdjohp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部