Я пытаюсь подключиться к своей базе данных 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