Php ORA-24408:无法生成唯一的服务器组名称

Php ORA-24408:无法生成唯一的服务器组名称,php,oracle,Php,Oracle,系统: Linux web 2.6.27.21-0.1-pae #1 SMP 2009-03-31 14:50:44 +0200 i686 i686 i386 GNU/Linux PHP Version 5.3.8 Apache Version Apache/2.2.21 (Linux/SUSE) OCI8 Support enabled Version 1.4.7 Revision $Revision: 321634 $ Active Persistent Connec

系统:

Linux web 2.6.27.21-0.1-pae #1 SMP 2009-03-31 14:50:44 +0200 i686 i686 i386 GNU/Linux

PHP Version 5.3.8
Apache Version  Apache/2.2.21 (Linux/SUSE)
OCI8 Support    enabled
Version     1.4.7
Revision    $Revision: 321634 $
Active Persistent Connections   0
Active Connections  0
Oracle Run-time Client Library Version  11.2.0.3.0
Oracle Instant Client Version   11.2
调用
oci\u connect
-receiv时

ORA-24408:无法生成唯一的服务器组名称


无法理解这是什么类型的错误以及如何修复它。

如果您愿意,您可以降级到10g(它显然不关心这一点),但这不是必需的

11g即时客户端需要一个指向127.0.0.1的主机名
/etc/hosts
文件条目。正常的“localhost”条目本身是不够的

假设您的主机名为
foomachine
,则有两个地方需要检查:

/etc/hosts
中,确保有任何条目,如不存在则添加:

127.0.0.1   foomachine
还要确保
/etc/sysconfig/network
文件也具有
HOSTNAME=foomachine


这应该可以解决问题。

我也有同样的问题。我修复了/etc/hosts和/etc/sysconfig/network文件并重新启动了网络,现在一切正常。以下是一些快速而肮脏的说明:


在CentOS 6.5中,我更改了文件的值:
/etc/sysconfig/network

原值:

HOSTNAME=localhost.localdomain
新值:

HOSTNAME=127.0.0.1

在我的情况下,我尝试连接到的OracleDB服务器是远程服务器,而不是本地服务器,因此上述
127.0.0.1 localhost
技巧不起作用

以前,我通过在主机文件中添加Oracle DB服务器的条目临时修复了DNS问题。 我的主机文件中的这个IP仍然正确-它仍然指向正确的OracleDB服务器IP

通过从我的主机文件中删除条目,问题就消失了。

我不知道为什么这对OracleDB是个问题,或者为什么错误消息如此迟钝,但我希望这能帮助其他人


(这是在MacOS v10.11.5上使用InstantClient v12.1.0.2)

这是一个老问题,但我只是在将Mac升级到Sierra后偶然发现了它。在那之前,我没有这个问题

诀窍当然是将主机名添加到/etc/hosts,但必须使用正确的主机名。这在linux上很容易,它位于/etc/sysconfig/network中。在Mac上,在系统首选项>共享中找到它。在下面,它说计算机名将类似于Computer-name.local。In/etc/hosts put

   127.0.0.1 computer-name.local
将计算机名替换为您的计算机名当然:)无论数据库是远程数据库还是本地数据库,它都需要此功能。


对于127.0.0.1,我有很多其他别名,但不是那个。当我添加了一个后,我的应用程序又开始工作了。

你实际上不需要在
/etc/hosts
中使用
127.0.0.1
,比如

echo -e "127.0.0.1\t$HOSTNAME" >> /etc/hosts

这是违反常识的(并且仅从2013年2月开始正式反对将此添加到/etc/hosts解决了此问题

127.0.0.1 someHostName
要查找计算机的主机名,只需在终端中键入主机名。使用文本编辑器(如vim)编辑主机

~ hostname
someHostName
~ cd /etc
/etc sudo vim hosts

塞尔吉奥·米歇尔斯-谢谢,我会试试塞尔吉奥·米歇尔斯-它很管用tnxOk,我把它作为一个答案,这样其他人可以看到这个问题有一个解决办法:)太棒了,你救了我一天。我非常感谢你。我可以在我的安装程序(Mac OS X 10.8.4)中确认这一点并修复了问题。在Mac OS X上,我只需将条目添加到
/etc/hosts
文件中,然后重试该命令,它就成功了。奇怪的是,在这个问题出现之前,我已经使用了几周没有问题的相同代码,但我很高兴它只需要一个简单的修复。谢谢你的提示!它还可以与一个真正的网络接口IP一起工作,不需要127.0.0.1。我的主机名似乎已经更改。我通过在终端中运行“主机名”找到了它。然后,我通过更新127.0.0.1行将新主机名添加到当前主机文件中。脚本:
echo“127.0.0.1$(主机名)”>/etc/hosts
作为超级用户。