如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?

时间:2010-04-30 20:27:03

标签: oracle oracle-xe

我遇到与此处列出的问题相同的问题:How to recover or change Oracle sysdba password虽然我没有丢失密码,但我最初在配置脚本中输入了两次,然后当我去登录时(localhost:8080 / apex,密码)不接受。

我在数据库中没有任何东西,我只想安装和使用Oracle-XE。我已经尝试过apt-get删除它两次并重新安装,但是如果我尝试再次运行/etc/init.d/oracle-xe配置并且我得到“已经配置了Oracle数据库10g快捷版”,尽管第二次删除我可以找到的任何Oracle文件夹XE。

我尝试运行sqlplus“/ as sysdba”,但我得到的是:

Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

我尝试通过export设置变量。 (也试过set)。

尝试:export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/sqlplus 以及它的所有子目录。每次都有相同的错误。

ORACLE_HOME应该设置为什么?我所看到的唯一参考只是说一般或者说上面的版本号然后是“/ db_1”。我没有db_1。

如果您需要任何澄清,请与我们联系。我不明白我在这个过程中做错了什么。

9 个答案:

答案 0 :(得分:79)

通常msb文件未找到问题是环境设置问题的结果,但在你的情况下我对安装有点怀疑(我从未使用过apt-get + configure方法)。

检查安装的完整性:

  • ORACLE_HOME应设置为bin目录上方一级的目录路径,其中找到sqlplus可执行文件。
  • .msb
  • 下应该有一些$ORACLE_HOME/sqlplus/mesg个文件
  • .msb个文件应该有数百个(不确定XE的编号) 在$ORACLE_HOME下(尝试find $ORACLE_HOME -name "*.msb" -print显示)
  • 您的路径应包括$ORACLE_HOME/bin
  • ORACLE_HOME下的所有文件都应归user:oracle group:dba所有。

答案 1 :(得分:21)

我有同样的问题。在我的主文件夹中,我有一个名为sqlplus.sh的脚本,它为我处理这个问题,包含:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog

答案 2 :(得分:13)

有同样的问题,

我必须做的就是设置oracle shell变量:

. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

Sorterd!

答案 3 :(得分:5)

您还必须设置LANG,查找名为'sp1 * .msb'的文件,如果找到文件名sp1us.msb,则设置为export LANG = us。错误消息肯定会更好:)

答案 4 :(得分:1)

ORACLE_HOME需要位于数据库安装的Oracle目录结构的顶层。从那时起,Oracle就知道如何找到它需要的所有其他文件。例如,您得到的错误消息是因为Oracle无法找到报告错误的消息文件(应该在oracle home下面的各个mesg目录中。而不是您给出的上述值,我会尝试

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0

答案 5 :(得分:1)

一旦我也遇到了同样的错误。

即:

C:\oracle\product\10.2.0\db_2>SQLPLUS SYS AS SYSDBA
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

由于未正确设置主路径,因此发生此错误。要解决此问题,如果您使用的是Windows,请运行以下查询:

C:\oracle\product\10.2.0\db_2>SET ORACLE_HOME=C:\oracle\product\10.2.0\db_2
C:\oracle\product\10.2.0\db_2>SQLPLUS SYS AS SYSDBA

SQL*Plus: Release 10.2.0.3.0 - Production on Tue Apr 16 13:17:42 2013

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

或者,如果您使用的是Linux,请将set替换为export以获取上述命令,如下所示:

C:\oracle\product\10.2.0\db_2>EXPORT ORACLE_HOME='C:\oracle\product\10.2.0\db_2'
C:\oracle\product\10.2.0\db_2>SQLPLUS SYS AS SYSDBA

SQL*Plus: Release 10.2.0.3.0 - Production on Tue Apr 16 13:17:42 2013

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

答案 6 :(得分:1)

这是清除此错误的正确方法。

export ORACLE_HOME = / u01 / app / oracle / product / 10.2.0 / db_1 sqlplus / as sysdba

答案 7 :(得分:1)

在Linux计算机上安装weblogic和表单服务器之后,我们遇到了一些初始化sqlplustnsping的问题。我们以form_home充当oracle home的方式更改了bash_profile。两种命令都可以 (sqlplus和tnsping)对于用户oracle是可执行的

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export JAVA_HOME=/mnt/software/java/jdk1.7.0_71
export ORACLE_HOME=/oracle/Middleware/Oracle_FRHome1
export PATH=$PATH:$JAVA_HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=/oracle/Middleware/Oracle_FRHome1/lib
export FORMS_PATH=$FORMS_PATH:/oracle/Middleware/Oracle_FRHome1/forms:/oracle/Middleware/asinst_1/FormsComponent/forms:/appl/myapp:/home/oracle/myapp

答案 8 :(得分:-3)

set <ORACLE_HOME> path variable

例如

path ORACLE_HOME

值为C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server

enter image description here