1問題描述:近日根據(jù)網(wǎng)上別人的相應(yīng)腳本,在虛擬機(jī)上測(cè)試設(shè)置Oracle控制腳本的時(shí)候遇到如下問題:在創(chuàng)建了Oracle控制腳本后,執(zhí)行
1問題描述:
近日根據(jù)網(wǎng)上別人的相應(yīng)腳本,在虛擬機(jī)上測(cè)試設(shè)置Oracle控制腳本的時(shí)候遇到如下問題:
在創(chuàng)建了Oracle控制腳本后,執(zhí)行如下啟動(dòng)命令時(shí)報(bào)錯(cuò):
# services oracle9i stop
錯(cuò)誤信息如下:
cat: /etc/oratab: 沒有那個(gè)文件或目錄
2錯(cuò)誤分析
不使用創(chuàng)建的服務(wù)控制腳本執(zhí)行Oracle數(shù)據(jù)庫(kù)的停止命令,而是直接使用Oracle的相關(guān)指令直接執(zhí)行,,進(jìn)行逐條檢查。
1) 關(guān)閉Oracle監(jiān)聽
# su - oracle -c "/opt/ora9/product/9.2/bin/lsnrctl stop"
執(zhí)行沒問題,正常通過。
2) 關(guān)閉Oracle數(shù)據(jù)庫(kù)
#su - oracle -c "/opt/ora9/product/9.2/bin/dbshut"
執(zhí)行這條語(yǔ)句的時(shí)候出現(xiàn)上述錯(cuò)誤,即“cat: /etc/oratab: 沒有那個(gè)文件或目錄”
進(jìn)而,確定是執(zhí)行指令dbshut 時(shí)引起錯(cuò)誤。
3) 打開dbshut 指令查看,發(fā)現(xiàn)了引起錯(cuò)誤的語(yǔ)句:
:
#
# $Header: dbshut.sh.pp 03-apr-2001.13:38:20 jboyce Exp $ dbshut.sh.pp Copyr (c) 1991 Oracle
#
###################################
#
# usage: dbshut
#
# This script is used to shutdown ORACLE from /etc/rc(.local).
# It should ONLY be executed as part of the system boot procedure.
#
#####################################
ORATAB=/etc/oratab
4) 查看相應(yīng)的文件
# find /etc/oratab
find: /etc/oratab: 沒有那個(gè)文件或目錄
這個(gè)文件居然不存在,確定是由于該文件的丟失引起的原因。
5) 通過如下指令查看該文件是否在系統(tǒng)其它地方
# find / -name “oratab”
結(jié)果居然沒找到。
估計(jì)是當(dāng)初安裝Oracle的遺留問題。
3 解決方案
由于該文件已經(jīng)丟失,所以到另外一臺(tái)安裝了同樣版本的Oracle的服務(wù)器上查詢相應(yīng)的文件,果然找到了相應(yīng)的文件,內(nèi)容如下:
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME::
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
# *:/opt/ora9/product/9.2:N
# *:/opt/ora9/product/9.2:N
*:/opt/ora9/product/9.2:N
oracle:/opt/ora9/product/9.2:N
demo:/opt/ora9/product/9.2:N
下面的操作就簡(jiǎn)單了,拷貝該服務(wù)器上的文件到相應(yīng)的目錄即可。
注意:拷貝完以后一定記得要修改相應(yīng)的內(nèi)容。
P.S.
對(duì)于oratab文件的說明:
1.只在Linux環(huán)境中存在
2.設(shè)置格式::: 示例:oracle:/opt/ora9/product/9.2:N
3.可以為不同的數(shù)據(jù)庫(kù)設(shè)置相應(yīng)的選項(xiàng)
4.如果想用$ORACLE_HOME/bin/dbstart腳本來啟動(dòng)數(shù)據(jù)庫(kù),則需要將/etc/oratab文件中相應(yīng)的數(shù)據(jù)庫(kù)的項(xiàng)置為Y,
簡(jiǎn)單的說即dbstart腳本根據(jù)oratab文件中的配置決定啟動(dòng)哪幾個(gè)數(shù)據(jù)庫(kù)。
5.如果不使用dbstart腳本啟動(dòng)數(shù)據(jù)庫(kù),而是用自己的腳本來啟動(dòng),那么根本不用關(guān)心oratab文件。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com