0

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

有任何想法吗?

4

3 回答 3

2

哦,想通了。:-)

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
于 2009-04-23T13:31:53.890 回答
0

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

于 2013-02-13T09:07:39.823 回答
0

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

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

于 2013-02-23T00:31:04.910 回答