Подтвердить что ты не робот

ORA-24408: невозможно создать уникальное имя группы серверов

:

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_connect - receiv

ORA-24408: невозможно создать уникальное имя группы серверов

не может понять, что такое ошибка типа и как его исправить.

4b9b3361

Ответ 1

Это ошибка с совместимостью версии oracle 11g и PHP Oci. По мере подтверждения OP отменяется переход клиента на 10g. Решение найдено здесь.

Ответ 2

Вы можете понизить до 10g, если хотите (это, очевидно, не заботится об этом), но это не обязательно...

Для мгновенного клиента 11g требуется запись файла /etc/hosts для вашего имени хоста, указывающего на 127.0.0.1. Нормальная запись "localhost" недостаточно для нее.

Предполагая, что ваше имя хоста foomachine, вам нужно проверить два места:

В /etc/hosts убедитесь, что у вас есть какая-либо запись - добавьте ее, если она отсутствует:

127.0.0.1   foomachine

И также убедитесь, что файл /etc/sysconfig/network также имеет HOSTNAME=foomachine

Это должно сделать трюк.

Ответ 3

Вид старого вопроса, но я просто наткнулся на него после обновления моего Mac до Sierra. До тех пор у меня не было проблемы.

Трюк, безусловно, должен добавить ваше имя хоста в /etc/hosts, но вы должны иметь правильное имя хоста. Это легко на linux, это в /etc/sysconfig/network. На Mac найдите его в разделе "Системные настройки" > "Обмен". В разделе где указано имя компьютера будет что-то вроде computer-name.local. В /etc/hosts положите

   127.0.0.1 computer-name.local

Замена имени компьютера именем компьютера конечно:). Он нуждается в этом независимо от того, является ли база данных удаленной или локальной.

У меня было много других псевдонимов для 127.0.0.1, но не для этого. Как только я добавил, что мои приложения снова начали работать.

Ответ 5

В CentOS 6.5 я изменил значение файла: /etc/sysconfig/network

Исходное значение:

HOSTNAME=localhost.localdomain

Новое значение:

HOSTNAME=127.0.0.1

Ответ 6

В моей ситуации сервер OracleDB, к которому я пытался подключиться, был удаленным, а не локальным, поэтому вышеупомянутый трюк 127.0.0.1 localhost не работал.

Раньше я временно исправил проблему DNS, добавив запись для моего сервера Oracle DB в файл моих хостов. Этот IP-адрес в моем файле hosts все еще был прав - он все еще указывал на правильный IP-адрес сервера OracleDB.

Удалив запись из файла моих хостов, проблема исчезла.

Я понятия не имею, почему это проблема для OracleDB или почему сообщение об ошибке настолько тупое, но я надеюсь, что это поможет кому-то еще.

(Это использовало InstantClient v12.1.0.2 в MacOS v10.11.5)

Ответ 7

На самом деле вам не нужно идти с 127.0.0.1 в /etc/hosts с чем-то вроде

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

что противоречит здравому смыслу (и формально против RFC 6761 только с февраля 2013 г.).

К счастью, это также будет работать, если у вас зарегистрирован только ваш реальный IP-адрес - что-то вроде

192.0.2.5 mymachine.example.net

что часто отсутствует в виртуальных машинах, созданных с помощью DHCP.

или - в крайнем случае - использовать какой-либо другой IP-адрес из 127.0.0.0/8

127.0.1.1 mymachine.example.net

Протестировано с Oracle Instant Client 11.2.

Системные администраторы, имеющие дело с такими странными вещами, как Legato Backup, будут благодарны за то, что вы не возитесь с /etc/hosts.