РТЫ 12154: TNS:could не разрешают указанный идентификатор подключения

Я пытаюсь подключить к оракулу 11 г, установленных на Linux EL 5 и, и получаю следующую ошибку

SQL> connect sys/password@ud06 as sysdba
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor

мой listener.ora под сетью/администратором следующие

LISTENER=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=ud06)(PORT=1521))
      (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))

SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=orcl)
      (ORACLE_HOME=/home/oracle/app/oracle/product/11g)
      (SID_NAME=orcl))
    (SID_DESC=
      (SID_NAME=plsextproc)
      (ORACLE_HOME=/home/oracle/app/oracle/product/11g)
      (PROGRAM=extproc)))

МОЙ tnsnames.ora следующие

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

UD06=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ud06)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

МОЕ lsnrctl состояние показывает следующим образом:

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ud06.us.server.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                17-FEB-2010 16:23:06
Uptime                    0 days 0 hr. 12 min. 33 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11g/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/product/11g/log/diag/tnslsnr/ud06/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ud06.us.server.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Service "plsextproc" has 1 instance(s).
  Instance "plsextproc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
8
задан OMG Ponies 9 April 2011 в 17:08
поделиться

2 ответа

Можете ли вы успешно пинговать ud06 (как ud06, а не ud06.us.server.com)?

Что показывает команда

lsnrctl services

?

РЕДАКТИРОВАТЬ: Мне кажется, что это может быть имя экземпляра базы данных на самом деле не "orcl"? Вывод службы lsnrctl говорит мне о том, что служба orcl, хотя и определена в файле listener.ora, на самом деле не работает.

Можете ли вы войти в систему с прямым подключением к серверу? Если да, то что вы используете в качестве значения переменной среды ORACLE_SID? Войдите в систему как пользователь SYS и введите команду:

ALTER SYSTEM REGISTER;

Затем введите команду lsnrctl services еще раз и посмотрите, не появится ли дополнительный экземпляр.

Кроме того, как указывает Алекс, команда tnsping сообщает полностью определенное имя службы. Отредактируйте файл sqlnet.ora и установите для параметра NAMES.DEFAULT_DOMAIN значение NULL, если оно имеет значение.

РЕДАКТИРОВАТЬ 2: Работает ли tnsping ud06 на сервере ? Или мое предположение, что клиент и сервер находятся в разных системах, неверно?

4
ответ дан 5 December 2019 в 17:36
поделиться

SERVICE_NAME в выходных данных tnsping не соответствует записи в tnsnames.ora ; это файл из окна Windows или Linux? Похоже, у вас нет локальной (Windows) tnsnames.ora записи для u06 , и он догадывается, какое имя службы должно расширять его - я думаю, это то, что ссылка на значит адаптер имени хоста.

1
ответ дан 5 December 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: