【发布时间】:2012-02-06 02:12:11
【问题描述】:
我在以普通用户身份启动 sqlplus 时遇到以下错误 - 说“scott”。
$ sqlplus
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
环境是:
- Oracle 11.2.0.2
- OpenSuse Linux 11.1(64 位)
其他细节:
- 在本地主机上安装并运行 Oracle
- 没有 tnsnames 问题,因为可以以 oracle 管理员用户身份运行 sqlplus
- 数据库已启动,侦听器已启动(安装 11.2.0.2)。
- 数据库管理员组 (/etc/group) 中的用户 scott
- 用户 scott 引用了正确的 11.2.0.2 安装
这是最奇怪的,因为我可以愉快地以 oracle 用户(比如“oraadmin”)运行 sqlplus,并且用户 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。
除此之外,我的 $ORACLE_HOME/lib、$ORACLE_HOME/bin、$ORACLE_HOME/oracore 和 $ORACLE_HOME/rdbms 在合理的许可下似乎都是合理的。
注意:网上有很多东西,但通常情况下,有很多特定于案例的问题,主要是围绕不同版本的 Windows。主要专注于比较我的环境。此外,据我所知,SO 上尚不存在此问题,因此对于开始按环境整理答案可能很有用。我会报告任何合理的发现。
【问题讨论】:
-
认为我的 $PATH 可能有问题。
-
关于您如何解决问题的任何更新?请帮助别人。
-
嗨@mowgli,我已经在下面留下了几个答案...第一个列出了一些我发现在搜索中有用的网站。第二个说明了我遇到的特定问题(即我有点愚蠢;-) ...在我的情况下,你会看到我为我的服务器运行了错误的客户端版本并且客户端不会说话到服务器(11.2.0.2 服务器与 11.1.0.7 客户端)。这是由于我的 $PATH 设置在 11202 箱之前列出了 11107 箱 [$ORACLE_HOME 不相关])。我没有接受我自己的答案,因为感觉有点厚脸皮!
-
WM,我不需要做太多,我所做的只是右键单击并在我的 Windows 7 上以管理员身份运行,它对我来说很好。
-
我在
HKLM\Software\Oracle\SysWoW64中有一个注册表项,它具有 Oracle_Home 键。我删除了它,它开始工作了!我的环境:Win10、Ora Instant Client 10.2+、Ora 9i 数据库服务器
标签: linux oracle11g sqlplus opensuse