平台是Redhat el 4,数据库是oracle 10g  数据库安装目录为/oracle/oracle/product/10.2.0/现在通过./sqlplus命令启动,出现以下错误提示: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现将root下 /etc/profile配置展示如下:# /etc/profile# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrcpathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}# Path manipulation
if [ `id -u` = 0 ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fipathmunge /usr/X11R6/bin after
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"HOSTNAME=`/bin/hostname`
HISTSIZE=1000if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi
ORACLE_HOME=/oracle/oracle/product/10.2.0/
export ORACLE_HOME
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRCfor i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        . $i
    fi
done
if [ $USER = "oracle" ] ; then
if [ $SHELL = "/bin/ksh" ] ; then
        ulimit -p 16384
        ulimit -n 65536
        else
        ulimit -u 16384 -n 65536
        fi
        fi
unset i
unset pathmunge下面是oracle用户下.bash_profile文件的配置:umask022
sh_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi# User specific environment and startup programs
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/oracle/product/10.2.0
export PATH=${ORACLE_HOME}/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:$PATH
export ORACLE_SID=oracle
export TNS_ADMIN=$ORACLE_HOME/network/adminexport ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib
export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/ctx/lib
export ORA_DB=$ORACLE_HOME/dbs
export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/JRE/lib/rt.jar

解决方案 »

  1.   

    你是用什么用户登录到操作系统的?执行echo $ORACLE_HOME的结果是怎样的?
      

  2.   

    是用oracle 用户登陆的,执行以上命令后,结果如下/oracle/oracle/product/10.2.0/db_4
      

  3.   

    看profile文件,你定义的ORACLE_HOME是=/oracle/oracle/product/10.2.0,怎么多了一个db_4
      

  4.   

    你是一登录到操作系统就执行的echo $ORACLE_HOME吗?看profile没发现有db_4,这是哪里来的?
      

  5.   

    看一下用户oracle的家目录中的隐含文件/home/oracle/.profile中的$ORACLE_HOME环境变量的定义。