【问题标题】:Oracle Pro*C ORA-12547Oracle Pro*C ORA-12547
【发布时间】:2009-04-23 13:16:23
【问题描述】:

我正在重新编译一些我公司目前没有人编译过的 Pro*C 代码。它编译正常,但是当我将它复制到生产服务器并运行它时,我收到 Oracle 错误 ORA-12547 (TNS: lost contact)

有什么想法吗?

【问题讨论】:

标签: oracle tns oracle-pro-c


【解决方案1】:

哦,想通了。 :-)

C 可执行文件不直接在服务器上运行,而是通过设置连接环境的脚本启动。即这样的事情:

export SHLIB_PATH=/oracleDatabaseSidHere/oracle/10.2/lib:/usr/lib:/oracleDatabaseSidHere/oracle/10.2/odg/lib
export ORACLE_BASE=/oracleDatabaseSidHere/oracle
export ORACLE_SID=oracleDatabaseSidHere
export ORACLE_HOME=/oracleDatabaseSidHere/oracle/10.2

# Set up the path and executable to run
PATH=.\:$PATH:$ORACLE_HOME/bin:/usrlocal/bin
PATH=$PATH:/path_to_application_logs

cd /path_to_application
application

【讨论】:

    【解决方案2】:

    与此相关,我刚刚发现当我尝试使用 PL/SQL 连接到 Oracle 数据库并且同时我有 VPN 连接时,我在我的 Windows 机器上收到相同的错误 ORA-12547 TNS 失去联系打开。

    【讨论】:

      【解决方案3】:

      我在 Linux 上遇到了类似的问题,Oracle 11gR2。 Oracle 所有者可以运行 SQL*Plus 并通过 TNS 或本地连接进入。非 oracle 用户可以通过 TNS 登录,但不能作为本地连接。

      原来答案是 ORACLE_HOME 文件系统挂载为“nosuid”。删除该挂载选项解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2016-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 2021-07-02
        相关资源
        最近更新 更多