Oracle Pro*C ORA-12547

发布于 2024-07-17 04:08:47 字数 116 浏览 6 评论 0原文

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

有什么想法吗?

I'm working on re-compiling some Pro*C code that no one currently at my company has ever compiled. It's compiling OK, but when I copy it to the production server and run it I'm getting Oracle error ORA-12547 (TNS: lost contact)

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绻影浮沉 2024-07-24 04:08:48

哦,想通了。 :-)

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

Oh, figured it out. :-)

The C executable isn't run directly on the server, but launched through a script that sets up the connection environment. i.e. something like this:

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
唠甜嗑 2024-07-24 04:08:48

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

Related to this, I just found out that I get the same error ORA-12547 TNS lost contact on my Windows machine when I try to connect to an Oracle database with PL/SQL and at the same time I have a VPN connection open.

错々过的事 2024-07-24 04:08:48

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

事实证明,答案是 ORACLE_HOME 文件系统被挂载为“nosuid”。 删除该安装选项解决了我的问题。

I had a similar problem on Linux, Oracle 11gR2. Oracle owner could run SQL*Plus and get in via either TNS or local connection. Non-oracle user could log in via TNS, but not as local connection.

Turns out the answer was that the ORACLE_HOME filesystem was mounted "nosuid". Removing that mount option solved my issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文