система:
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: невозможно создать уникальное имя группы серверов
не может понять, что это за ошибка и как это исправить.
Это ошибка с совместимостью версии oracle 11g и PHP Oci. По мере подтверждения OP отменяется переход клиента на 10g. Решение найдено здесь .
Вы можете понизить до 10g, если хотите (это, очевидно, не заботится об этом), но это не обязательно …
Для мгновенного клиента 11g требуется запись файла /etc/hosts
для вашего имени хоста, указывающего на 127.0.0.1. Нормальная запись «localhost» недостаточно для нее.
Предполагая, что ваше имя хоста является foomachine
, вам нужно проверить два места:
В /etc/hosts
убедитесь, что у вас есть какая-либо запись – добавьте ее, если ее нет:
127.0.0.1 foomachine
А также убедитесь, что файл /etc/sysconfig/network
также имеет HOSTNAME=foomachine
Это должно делать свое дело.
Вид старого вопроса, но я просто наткнулся на него после обновления моего 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, но не для этого. Как только я добавил, что мои приложения снова начали работать.
У меня была точно такая же проблема. Я исправил свои / etc / hosts и / etc / sysconfig / сетевой файл и RESTARTED THE NETWORK, и теперь он отлично работает. Вот несколько быстрых и грязных инструкций:
http://ahmadzainuddinzakaria.blogspot.com/2012/06/warning-ociconnect-functionoci-connect.html
В CentOS 6.5 я изменил значение файла: /etc/sysconfig/network
Исходное значение:
HOSTNAME=localhost.localdomain
Новое значение:
HOSTNAME=127.0.0.1
В моей ситуации сервер OracleDB, к которому я пытался подключиться, был удаленным, а не локальным, поэтому вышеупомянутый трюк 127.0.0.1 localhost
не работал.
Раньше я временно исправил проблему DNS, добавив запись для моего сервера Oracle DB в файл моих хостов. Этот IP-адрес в файле моих хостов был по-прежнему правильным – он все еще указывал на правильный IP-адрес сервера OracleDB.
Удалив запись из файла моих хостов, проблема исчезла.
Я понятия не имею, почему это проблема для OracleDB, или почему сообщение об ошибке настолько тупые, но я надеюсь, что это поможет кому-то другому.
(Это использовало InstantClient v12.1.0.2 в MacOS v10.11.5)