oracle数据库指令etcn,解决执行Oracle控制脚本时遇到的 “cat: /etc/oratab: 没有那个文件或目录”的问题...

1问题描述:

近日根据网上别人的相应脚本,在虚拟机上测试设置Oracle控制脚本的时候遇到如下问题:

在创建了Oracle控制脚本后,执行如下启动命令时报错:

# services oracle9i stop

错误信息如下:

cat: /etc/oratab: 没有那个文件或目录

2错误分析

不使用创建的服务控制脚本执行Oracle数据库的停止命令,而是直接使用Oracle的相关指令直接执行,进行逐条检查。

1) 关闭Oracle监听

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

执行没问题,正常通过。

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:

:

#

# 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:/opt/ora9/product/9.2:N 3.可以为不同的数据库设置相应的选项 4.如果想用$ORACLE_HOME/bin/dbstart脚本来启动数据库,则需要将/etc/oratab文件中相应的数据库的项置为Y, 简单的说即dbstart脚本根据oratab文件中的配置决定启动哪几个数据库。 5.如果不使用dbstart脚本启动数据库,而是用自己的脚本来启动,那么根本不用关心oratab文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值