Назад | Перейти на главную страницу

oracle lsnrctl TNS-12545: сбой подключения, поскольку целевой хост или объект не существует

Я пытаюсь подключиться к своей базе данных Oracle. Я не могу запустить слушателя. Вот что я пробовал.

$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 20-JAN-2012 08:19:58

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

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Error listening on: (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12545: Connect failed because target host or object does not exist
 TNS-12560: TNS:protocol adapter error
  TNS-00515: Connect failed because target host or object does not exist

$ cat ./admin/tnsnames.ora

 
# TNSNAMES.ORA Network Configuration File: 
# /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora 
# 

EXTPROC_CONNECTION_DATA.test = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 
    ) 
    (CONNECT_DATA = 
      (SID = DEVDB) 
        (PRESENTATION = RO) 
      ) 
    ) 

DEVDB = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = DEVDB.test)
    ) 
  ) 

DEBDB.test = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = DEVDB.test)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = DEVDB.test)
    ) 
  )

$ hostname
тест

Вот пример успешного запуска на другой машине с аналогичной настройкой. Нет файла listner.ora, только tnsnames.ora.

$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 20-JAN-2012 11:38:51

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

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracletest)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date                20-JAN-2012 11:38:51
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracletest)(PORT=1521)))
The listener supports no services
The command completed successfully

У вас пустой HOST= в вашем listener.ora. Я бы отредактировал это так HOST=my.ip.address. Четный HOST=127.0.0.1 подойдет, если приложение находится на том же хосте. Вы бежали netca правильно раньше (что рекомендуется новичкам)?

$ vim / etc / hosts

Изменить строку с

127.0.0.1 локальный хост.localdomain локальный хост

к

127.0.0.1 тест localhost.localdomain localhost

cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=test

$ hostname
тест

$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 20-JAN-2012 10:08:54

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

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date                20-JAN-2012 10:08:55
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))
The listener supports no services
The command completed successfully