首页 文章

执行sqlplus时出现Oracle错误:“SP2-1503:无法初始化Oracle调用接口”

提问于
浏览
4

当我作为常规用户启动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在localhost上安装并运行

  • 没有tnsnames问题,因为可以运行sqlplus作为oracle admin用户

  • 数据库启动和监听器已启动(11.2.0.2安装) .
    数据库管理组中的

  • 用户scott(/ etc / group)

  • 用户scott引用正确的11.2.0.2安装

这是最离奇的,因为我可以愉快地运行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 :'s a plethora of stuff on-line but, as is often the case, there'有很多特定于案例的问题,主要围绕不同版本的Windows . 主要关注比较我的环境 . 此外,据我所知,这个问题并没有报告任何明智的发现 .

4 回答

  • 5

    如果它是Windows 7,您可以右键单击SQL Plus或您使用的任何软件,我使用Crystal Reports .

    所以你必须 right clickRun as Administrator.

    它适合我 .

  • 0

    修复了我的特殊问题......

    用户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
    

    你的,有点尴尬,但希望再次对某人有所帮助 .

  • 0

    在Windows中我找到了解决方案---

    将“创建全局对象”用户权限分配给非管理员帐户 .

    • 转到“管理工具”,然后单击“本地安全策略” .

    • 展开“本地策略”,然后单击“用户权限分配” .

    • 在右窗格中,双击“创建全局对象” .

    • 在“本地安全策略设置”对话框中,单击“添加” .

    • 在“选择用户或组”对话框中,单击要添加的用户帐户,单击“添加”,然后单击“确定” .

    • 单击“确定” .

相关问题