ORA-12545: Oracle SID внезапно перестал работать

У меня есть непонятная проблема. У меня есть Oracle 11g, настроенный на Linux, который работает нормально. Мне удалось удаленно подключиться с других компьютеров, используя строку подключения на основе SID, такую ​​как

sqlplus [email protected]:1521:orcl

потом по непонятной причине перестал работать. Я не уверен, что я или кто-то другой расшатывал.

теперь я могу удаленно подключаться только с помощью методов на основе SERVICE_NAME или TNSNAME

sqlplus [email protected]:1521/orcl

sqlplus myschema@ORCL

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

Ниже моя конфигурация:

СЛУШАТЕЛЬ.ОРА:

[oracle@dbora112 ~]$ cat  /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# listener.ora Network Configuration File: /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbora112)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /opt/u01/app/oracle

СТАТУС СЛУШАТЕЛЯ:

[oracle@dbora112 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 04-MAR-2015 14:50:05

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                04-MAR-2015 14:37:12
Uptime                    0 days 0 hr. 12 min. 52 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/u01/app/oracle/diag/tnslsnr/dbora112/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbora112)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

TNSNAMES.ORA:

[oracle@dbora112 ~]$ cat /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.184.102)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = orcl)
    )
  )

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.184.102)(PORT = 1521))

SQLNET:

[oracle@dbora112 ~]$ cat /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File: /opt/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

ADR_BASE = /opt/u01/app/oracle

Можно без проблем подключиться через TNS

[oracle@dbora112 ~]$ sqlplus schema/xxx@ORCL

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 4 14:54:10 2015

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

Может без проблем подключиться, используя имя службы

[oracle@dbora112 ~]$ sqlplus schema/[email protected]/ORCL

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 4 14:55:52 2015

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

Не удается подключиться с помощью SID

[oracle@dbora112 ~]$ sqlplus schema/[email protected]:orcl

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 4 14:56:38 2015

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

ERROR:
ORA-12545: Connect failed because target host or object does not exist

Экземпляр базы данных (SID)

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
orcl

person Boso    schedule 04.03.2015    source источник
comment
Можете ли вы показать вывод show parameter service   -  person Lalit Kumar B    schedule 04.03.2015


Ответы (2)


Поскольку вы можете подключиться со своим псевдонимом TNS и использовать SID в описании подключения, SID работает.

Но ваша строка EasyConnect неверна. Из документации SQL*Plus:

Простой или сокращенный идентификатор соединения имеет следующий синтаксис:

[//]host[:port][/service_name]

Вы не можете использовать SID с Easy Connect, только имя службы; поэтому вы подключаетесь, используя:

sqlplus schema/[email protected]:orcl

или даже

sqlplus schema/[email protected]:1521:orcl

... никогда не мог работать. Вы можете использовать эту форму с URL-адресом JDBC, используя старый стиль:

jdbc:oracle:thin:@192.168.184.102:1521:orcl

... но это не то же самое, что соединение SQL * Plus, несмотря на то, что выглядит похоже.

Если вы пытаетесь проверить, будет ли работать JDBC-соединение такой формы, вы не сможете сделать это с помощью SQL*Plus, но ваша проверка псевдонима TNS проверяет, настроено ли оно так, как вы ожидаете, — если оно использует тот же хост. , порт и SID. Вероятно, было бы лучше использовать более новый синтаксис JDBC, но, судя по вопросу, вы не можете это изменить.

Подробнее о Easy Connect.

person Alex Poole    schedule 04.03.2015

Это может быть, когда Oracle не может преобразовать имя хоста в IP. Можете ли вы разрешить свое имя хоста с помощью nslookup? то есть,

nslookup ваше имя хоста

Также убедитесь, что обратный поиск работает:

nslookup ваш IpAddr

person Pr0t0c0l78    schedule 04.03.2015
comment
OP использует IP-адреса, а не имена хостов, поэтому поиск не выполняется, и он работает с именем службы - проблема возникает только с SID, и между SID и именем хоста нет связи. - person Alex Poole; 04.03.2015