ora-12154 проблема при соединении с Instant-клиентом

Я использую Oracle 11g на Windows Server 2008R2. У меня есть клиентское приложение (Zabbix), работающее в другом месте, которое пытается подключиться к нему.

Клиентский компьютер имеет:

  • Оракул-instantclient11.2 основного-11.2.0.3.0-1.i386.rpm
  • Оракул-instantclient11.2-разви-11.2.0.3.0-1.i386.rpm

И как таковой, он не имеет файлов sqlnet.ora или tnsnames.ora. Он пытается установить соединение с прямой адресацией. С оператором print в php я вижу, что он вызывает

ociplogon(user,password,$connect);

с подключением, установленным на // dbhostmachine: 1521 / zabbix. Так что там все выглядит хорошо.

C:\Users\mdobrini> lsnrctl services

LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 02-NOV-2012 13:00:55

Copyright (c) 1991, 2008, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhostmachine.dddd.cccc.com)(POR
Services Summary...
Service "zabbix" has 1 instance(s).
  Instance "zabbix", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:578 refused:0 state:ready
         LOCAL SERVER
Service "zabbixXDB" has 1 instance(s).
  Instance "zabbix", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: dbhostmachine, pid: 6384>
         (ADDRESS=(PROTOCOL=tcp)(HOST=dbhostmachine.dddd.cccc.com)(PORT=61396))
Service "zabbix_XPT" has 1 instance(s).
  Instance "zabbix", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:578 refused:0 state:ready
         LOCAL SERVER
The command completed successfully

Попытка локального подключения работает нормально:

SQL*Plus: Release 11.1.0.7.0 - Production on Fri Nov 2 13:06:31 2012

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Enter user-name: SYSTEM
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production

SQL> connect uuu/ppp@localhost/zabbix
Connected.
SQL>  

Тем не менее, удаленно я получаю популярную ошибку:

ociplogon(): ORA-12154: TNS:could not resolve the connect identifier specified 

Странно то, что раньше он работал с перебоями. Я получаю сообщение об ошибке каждые 10 секунд в моем приложении:

30923:20121101:142237.595 [Z3001] connection to database '//dbhostmachine:1521/zabbix'     failed: [-1] ORA-12516: TNS:listener could not find available handler with matching   protocol stack
30923:20121101:142237.596 watchdog: database is down

но определенно данные передавались по сети и сохранялись в БД. После перезапуска приложения и сервера я больше не могу подключиться и завис на ORA-12154

1 ответ

Решение

ORA-12154 был вызван проблемой DNS. После перехода на IP-адресацию это ушло.

ORA-12516 был вызван максимальным количеством сеансов / процессов, достигаемых в БД. После настройки этого параметра, а также некоторых параметров PHP OCI8 это также исчезло.

Другие вопросы по тегам