Oracle

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

  • September 19, 2017

我有一個包含 oracle 數據庫的 linux RedHat。我設置了所有環境變數,但是當我執行sqlplus命令時出現此錯誤:SP2-0667: Message file sp1&lt;lang&gt;.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&lt;lang&gt;.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

請注意,我目前以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

我找到了解決方案!正如 oracle 文件所說的 ORACLE_HOME,我的 env 變數是在 /etc/profilefile 中設置的,但在 env | 中是不可見的。grep ORACLE_HOME 或 dbhomeso 我執行了以下命令:

export ORACLE_HOME=/app/oracle/product/12.1.0/dbhome_1

現在它可以工作了

引用自:https://dba.stackexchange.com/questions/157493