oracle 問題解析

1問題描述:

近日根據網上別人的相應腳本,在虛擬機上測試設置Oracle控制腳本的時候遇到以下問題:數據庫

在建立了Oracle控制腳本後,執行以下啓動命令時報錯:服務器

# services oracle9i stoporacle

錯誤信息以下:ide

cat: /etc/oratab: 沒有那個文件或目錄測試

2錯誤分析

不使用建立的服務控制腳本執行Oracle數據庫的中止命令,而是直接使用Oracle的相關指令直接執行,進行逐條檢查。spa

1) 關閉Oracle監聽orm

# su - oracle -c "/opt/ora9/product/9.2/bin/lsnrctl stop"ip

執行沒問題,正常經過。ci

2) 關閉Oracle數據庫虛擬機

#su - oracle -c "/opt/ora9/product/9.2/bin/dbshut"

執行這條語句的時候出現上述錯誤,即「cat: /etc/oratab: 沒有那個文件或目錄

進而,肯定是執行指令dbshut 時引發錯誤。

3) 打開dbshut 指令查看,發現了引發錯誤的語句:

:

#

# $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) 查看相應的文件

# find /etc/oratab

find: /etc/oratab: 沒有那個文件或目錄

這個文件竟然不存在,肯定是因爲該文件的丟失引發的緣由。

5) 經過以下指令查看該文件是否在系統其它地方

# find / -name 「oratab」

 結果竟然沒找到。

 估計是當初安裝Oracle的遺留問題。

3 解決方案

 因爲該文件已經丟失,因此到另一臺安裝了一樣版本的Oracle的服務器上查詢相應的文件,果真找到了相應的文件,內容以下:

#

# 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:<N|Y>:

#

# 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

拷貝完之後必定記得要修改相應的內容。


P.S.對於oratab文件的說明:1.只在Linux環境中存在2.設置格式:<ORACLE_SID>:<ORACLE_HOME>:<Y|N> 示例:oracle:/opt/ora9/product/9.2:N3.能夠爲不一樣的數據庫設置相應的選項4.若是想用$ORACLE_HOME/bin/dbstart腳原本啓動數據庫,則須要將/etc/oratab文件中相應的數據庫的項置爲Y,簡單的說即dbstart腳本根據oratab文件中的配置決定啓動哪幾個數據庫。5.若是不使用dbstart腳本啓動數據庫,而是用本身的腳原本啓動,那麼根本不用關心oratab文件。

相關文章
相關標籤/搜索