45

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

我的数据库里什么都没有,我只想安装和使用Oracle-XE。我已经尝试 apt-get 删除它两次并重新安装,但是如果我尝试/etc/init.d/oracle-xe再次运行 configure 并且我得到“Oracle Database 10g Express Edition 已配置”,尽管第二次删除了我可以为 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。

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

4

9 回答 9

80

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

要检查安装的完整性:

  • ORACLE_HOME应设置为比找到可执行文件的bin目录高一级的目录路径。sqlplus
  • 下应该有一些.msb文件$ORACLE_HOME/sqlplus/mesg
  • 下应该有数百个(不确定 XE 的数量).msb文件$ORACLE_HOME(尝试find $ORACLE_HOME -name "*.msb" -print显示它们)
  • 您的 PATH 应包括$ORACLE_HOME/bin.
  • 下的所有文件ORACLE_HOME都应归user:oracle group:dba.
于 2010-05-01T11:53:11.837 回答
23

我遇到过同样的问题。在我的主文件夹中,我有一个名为 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
于 2010-05-02T08:01:01.047 回答
14

遇到了同样的问题,

我所要做的就是设置 oracle shell 变量:

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

排序!

于 2014-01-07T09:37:16.770 回答
5

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

于 2012-11-01T09:37:40.583 回答
1

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

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0
于 2010-04-30T21:17:19.150 回答
1

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

IE:

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,则将上述命令替换为setexport

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.
于 2013-04-16T07:52:31.950 回答
1

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

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

于 2014-06-28T15:02:51.733 回答
1

在 Linux 机器上安装 weblogic 和表单服务器后,我们遇到了一些初始化sqlplustnsping. 我们改变了bash_profileforms_home 作为 oracle home 的方式。它工作正常,两个命令(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
于 2015-06-26T09:01:34.067 回答
-2
set <ORACLE_HOME> path variable

例子

path ORACLE_HOME

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

在此处输入图像描述

于 2016-04-12T11:21:55.867 回答