Oracle 客户端出现“无消息文件”问题

Oracle 客户端出现“无消息文件”问题

我在 Windows 7 x64 上安装了 Oracle Client 11g R2 Win64。但是,运行 tnsping(不带参数)会产生以下输出:

C:\Users\stefan.moebius>tnsping

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 01-APR-2011 17:06:17

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

TNS-03502: Message 3502 not found; No message file for product=NETWORK, facility=TNS

怎么了?

我尝试设置 ORACLE_HOME,因为网上有提到,但这没有帮助。使用 ProcMon 查看 tnsping 正在做什么,表明它确实找到了文件

C:\develop\oracle\product\11.2.0\client_1\network\mesg\nlus.msb

答案1

我遇到了类似的问题,虽然nlus.msb确实存在%ORACLE_HOME%\network\mesg\,但还有七个msg文件丢失。显然这是由于客户端安装不完整造成的,我从另一台具有相同版本/配置的机器上复制了这些文件,并解决了这个问题。

TNSPING

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 17-FEB-2
012 10:00:23

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Message 3511 not found; No message file for product=NETWORK, facility=TNSMessage
 3512 not found; No message file for product=NETWORK, facility=TNSMessage 3513 n
ot found; No message file for product=NETWORK, facility=TNSMessage 3509 not found; No message file for product=NETWORK, facility=TNS

答案2

对我来说,%ORACLE_HOME%\network\mesg\tnsus.msg(和tnshu.msg)消失了,所以我通过从另一台计算机复制文件解决了这个问题。(我不明白的是,tnsping直到最近它才开始工作,但从那时起就没有安装过。)

答案3

我确实知道 TNS-03502 消息告诉您不带参数的 tnsping 是不合法的。如果您为该命令提供了有效的 TNS 别名,您是否会收到相同的消息(“未找到消息 nnnn...”)?

至于消息错误,我能想到的唯一原因是运行 tnsping 命令和 Oracle 消息文件的用户存在权限问题。在 Windows 机器上设置 ORACLE_HOME 是不必要的,而且经常会导致问题 - 在安装时应该在注册表中设置该值。

答案4

在 Windows 注册表中找到 ORACLE_HOME。如下所示:HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDb11g_home1

确保 ORACLE_HOME 指向正确的主目录。特别是当您安装了 1 个以上的 Oracle 客户端/服务器时。

对我有用。

相关内容