Message file sp1.msb not found

在启动oracle的时候,出现如下报错:

[oracle@oracle10g bin]$  ./sqlplus / as sysdba

Error 6 initializing SQL*Plus

Message file sp1.msb not found

SP2-0750: You may need to set ORACLE_HOMEto your Oracle software directory

 

原因:


1)系统会在$ORACLE_HOME/sqlplus/mesg路径下寻找sp1.msb文件,如果不正确指定ORACLE_HOME和NLS_LANG就无法找到消息文件,从而导致sqlplus运行失败。检查$ORACLE_HOME/sqlplus/mesg目录是否可以正常访问,如不能正常访问,需要修改相应权限

 

[root@oracle10g db_1]# ls -l/home/oracle/oracle/product/10.2.0/db_1/sqlplus |grep mesg

drwxr-x--- 2 oracle oinstall 4096 11月  7 17:41 mesg

 

2)检查环境变量$ORACLE_HOME设置是否正确

 

[oracle@oracle10g bin]$ echo $ORACLE_HOME

 

看一下/home/oracle/.bash_profile文件里面$ORACLE_HOME的正确设置

export ORACLE_BASE=/home/oracle/oracle

exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

 

从上面文件中可以得出:

ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1

 

然后重新导出变量

[oracle@oracle10g bin]$ exportORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1

[oracle@oracle10g bin]$ echo $ORACLE_HOME

/home/oracle/oracle/product/10.2.0/db_1

 

而不能这么导变量

[oracle@oracle10g bin]$ exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

当你查看变量的时候就是这样的了:

[oracle@oracle10g bin]$ echo $ORACLE_HOME

/product/10.2.0/db_1

 

 

重新导出变量以后就可以进入oracle了

[oracle@oracle10g bin]$  ./sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.1.0 - Productionon Mon Nov 14 17:31:34 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL>

 

你可能感兴趣的:(Oracle)