SP2-0667:找不到消息文件 sp1<lang>.msb sqlplus oracle

Cou*_*uim 4 oracle linux sqlplus

我有一个包含 oracle 数据库的 linux RedHat。我设置了所有环境变量,但是当我运行sqlplus命令时出现此错误:SP2-0667: Message file sp1<lang>.msb not found

这是我的变量和我的sqlplus命令:

[oracle@as ~]$ echo $ORACLE_HOME
/oracle/product/12.1.0/dbhome_1
[oracle@as ~]$ echo $ORA_NLS33
/oracle/product/12.1.0/dbhome_1/nls/data
[oracle@as ~]$ echo $LD_LIBRARY_PATH
/oracle/product/12.1.0/dbhome_1/lib
[oracle@as ~]$ sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
Run Code Online (Sandbox Code Playgroud)

请注意,我目前以oracle用户身份运行,该用户似乎是/oracle具有读取和执行权限的文件夹的所有者。我还看到以下文件夹中存在一个名为 sp1us.msb 的文件:

[oracle@as ~]$ find $ORACLE_HOME | grep sp1
/oracle/product/12.1.0/dbhome_1/sqlplus/mesg/sp1us.msb
/oracle/product/12.1.0/dbhome_1/sqlplus/mesg/sp1us.msg
Run Code Online (Sandbox Code Playgroud)

Cou*_*uim 5

我找到了解决方案!正如 oracle 文档所说的关于 ORACLE_HOME,我的 env 变量是在 /etc/profilefile 中设置的,但在 env | 中不可见。grep ORACLE_HOME 或 dbhomeso 我执行了以下命令:

export ORACLE_HOME=/app/oracle/product/12.1.0/dbhome_1
Run Code Online (Sandbox Code Playgroud)

现在它起作用了