在Linux上安装oracle 10g server之后,创建普通用户,并配置了ORACLE_HOME和PATH. 执行sqlplus命令,但是提示错误:
$ sqlplus username/password
Error 6 initializing SQL*Plus
Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
但是使用usermod命令将该用户添加到dba组后,一切正常.看来不是ORACLE_HOME变量设置
的问题.看来有可能是和组权限的设置有关.最近手气不好,老碰到一些古怪的问题.(该数
据库为其他人安装的,自己还没有遇到类似的情况).检查$ORACLE_HOME目录下有关文件的
权限,发现dba组和others的权限果然有很大的不同,登陆到另外一台正常使用的机器上查
看有关的文件权限,再次验证了自己的想法.
使用
$ chmod -R o=g $ORACLE_HOME
更改相应的目录权限后,再次使用usermod命令将该用户从dba组中删除.
$ sqlplus username/password
SQL*Plus: Release 10.2.0.2.0 - Production on Wed Jan 14 10:13:55 2009
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning and Data Mining options
SQL>
sqlplus终于命令可以正常使用了.
这个案例再次说明,有些时候ORACLE给出的错误信息仅供参考,不能完全指望它给你
提供很多的帮助.希望以后的手气能够转好,少遇到此类的问题.记录一下备忘.