当我作为普通用户启动sqlplus时,我正在努力解决以下错误 - 比如说“scott”。
$ sqlplus
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
环境是:
其他细节:
这是最离奇的,因为我可以愉快地运行sqlplus作为oracle用户(比如说“oraadmin”)并且用户scott在oracle管理员组中注册。另外,我之前的Oracle安装(10.2.0.7)没有出现过这样的问题。我的~scott的$ ORACLE_HOME引用了11.2.0.2安装。
比较我的11.2.0.2和10.2.0.7环境,我注意到有几个库(包括$ ORACLE_HOME / lib / libsqlplus.so)具有组只读权限(744),因此请对其进行chmod'ded。
除此之外,我的$ ORACLE_HOME / lib,$ ORACLE_HOME / bin,$ ORACLE_HOME / oracore和$ ORACLE_HOME / rdbms在合理的许可下似乎都是合理的。
N.B :网上有大量内容,但通常情况下,有很多特定于案例的问题,主要是围绕不同版本的Windows。主要关注比较我的环境。此外,据我所知,这个问题在SO上尚不存在,因此开始按环境整理答案可能会有用。我会报告任何明智的发现。
答案 0 :(得分:5)
如果是Windows 7,您可以右键单击SQL Plus或您使用的任何软件,我使用Crystal Reports。
因此,您必须右键单击并以管理员身份运行。
它适合我。
答案 1 :(得分:2)
修正了我的特定问题......
用户scott的$ PATH仍然包含ora11.1.0.7 bin。所以,在启动sqlplus时,我正在运行针对11.2.0.2服务器的ora11.1.0.7 sqlplus客户端。认为可能还有更多(即我可能希望客户端使用该服务器),但这是问题的中心。
在我的辩护中,my.bashrc正确设置了$ PATH,因此还不确定11.1.0.7版本的优先级是什么。猜测合理的经验法则是将$ ORACLE_HOME / bin添加到$ PATH的前面以确保首先找到我的,尽管其他任何环境配置都设置了其他内容,如
export PATH=$ORACLE_HOME/bin:$PATH
你的,有点尴尬,但希望能再给某人帮助。
答案 2 :(得分:0)
一些更有用的网站......
各种Windows环境:
Linux环境:
答案 3 :(得分:0)
在Windows中我找到了解决方案---
将“创建全局对象”用户权限分配给非管理员帐户。