Tns no listener oracle linux

aistikb

АИС «Техническая инвентаризация» — база знаний

Ошибка при входе в программу «ORA-12541: TNS no listener»

  • Неправильно заданы настройки подключения клиентского приложения;
  • На сервере не запущена (не запускается) служба OracleXETNSListener;
  • Брандмауэр сервера запрещает TCP подключение к порту 1521.

Решение

1. Проверьте настройки подключения клиентского приложения.

Для этого необходимо запустить программу и в окне ввода пароля в поле «База данных» нажать кнопку «. »

Проверьте правильно ли в поле host указан IP адрес сервера на котором установлена база данных системы. Поля port и dbname должны иметь значения 1521 и XE соответсвенно.

Часто бывает что ПК выполняющий роль сервера базы данных полчает IP адрес по DHCP, через некоторый промежуток времени срок «аренды» IP адреса истекает и серверу выдается другой IP
адрес.

2. На сервере проверьте запущены ли службы OracleServiceXE и OracleXETNSListener

Для этого необходимо запустить оснастку «Службы». Сделать это можно через кнопку Пуск —Выполнить. В поле введите команду services.msc и нажмите .
Проверьте состояние служб.

Если одна из служб не работает, то ее необходимо запустить и проконтролировать, что она запустилась.
Иногда, служба OracleXETNSListener может автоматически останавливаться сразу после запуска из за ошибки в конфигурации.
Проверьте стаус службы. Для этого на сервере необходимо через Пуск — Выполнить ввести команду cmd.exe и нажать . В появившемся окне ввести команду lsnrctl status, вывод должен быть
примерно как на рисунке 3

Если вывод как на рисунке 4, то попробуйте выполнить команду lsnrctl start

В случае успешного запуска вывод будет как на рисунке 3. В противном случае необходимо проверить конфигурацию сервиса OracleXETNSListener.
Конфигурация храниться в следующем файле:

1. C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\listener.ora

Откройте данный файл с блокнотом и проверьте блок

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = thehostname)(PORT = 1521))
)
)
вместо thehostname далжен быть указан IP адрес сетевого интерфейса сервера через который производится подключение к БД.

Если значение не соответствует, то введите правильный IP и сохраните изменения.

После этого необходимо перезапустить службу OracleXETNSListener и убедиться, что после перезапуска она работает (Пуск — Выполнить — services.msc — — выбрать службу OracleXETNSListener — в верхней панели нажать «Стоп», затем «Старт»).

3. На сервере проверьте запущен ли экземпляр oracle.

Иногда возможна ситуация, что сервис OracleServiceXE работает, но экземпляр базы данных не запущен.

Чтобы проверить выполните на сервере Пуск — Выполнить, введите cmd.exe и нажмите .

В окне введите команду sqlplus sys as sysdba, на запрос пароля введите пароль для пользователя SYS (данный пароль задается при установке OracleXE).
Если при подключении выйдет сообщение Connected to the idle instance, то выполните команду startup и дождитесь ее завершения (рисунок 5).

Признаком же нормальной работы будет сообщение «Connected to: . » (рисунок 6)

Источник

Listener Oracle

Стас Белков

Автор статьи. Известный специалист в мире IT. Консультант по продуктам и решениям Oracle. Практикующий программист и администратор баз данных. Подробнее.

Листенер (слушатель) Oracle Net Listener — служба, которая действует только на сервере и прослушивает входящие запросы на подключение. Oracle предоставляет утилиту lsnrctl, управляющую процессом листенера. Место слушателя в сетевой обработке Oracle можно кратко описать следующим образом.

  • С помощью TNS Listener Oracle база данных регистрирует информацию о службах, экземплярах и обработчиках служб.
  • Клиент устанавливает начальное соединение со слушателем.
  • Слушатель принимает и проверяет запрос на подключение клиента и передает его обработчику службы базы данных. Как только слушатель передает запрос клиента, он устраняется из процесса обслуживания данного подключения.
Читайте также:  Windows 7600 home basic x64

Файл listener.ora, который по умолчанию размещается в каталоге $ORACLE_HOME/network/admin в системах UNIX и в каталоге $ORACLE_HOME\network\admin в системах Windows, содержит информацию о конфигурации Listener Oracle. Поскольку служба слушателя действует только на сервере, клиентские компьютеры не содержат никакого файла listener.ora. Типичный файл listener.ora приведен в листинге ниже.

Все параметры конфигурации в этом файле имеют значения по умолчанию. Поэтому службу листенера не обязательно конфигурировать вручную. После создания первой базы данных на сервере служба TNS Listener Oracle автоматически запускается, и файл конфигурации слушателя, listener.ora, помещается в каталог, определенный по умолчанию. При создании новой базы данных ее информация о сетевых подключений и службах автоматически добавляется в файл конфигурации tns listener Oracle. При запуске экземпляра база данных автоматически регистрируется в слушателе, и слушатель начинает прослушивать запросы на подключение к этой базе данных.

Процесс PMON Oracle отвечает за динамическую регистрацию имен служб баз данных Oracle в листенере (Listener) — при создании новые базы данных Oracle будут автоматически регистрироваться в службе TNS Listener Oracle. Процесс PMON будет обновлять файл listener.ora после создания каждой базы данных на сервере.

Для обеспечения возможности автоматической регистрации файл init.ora или SPFILE должен содержать следующие параметры:

  • SERVICE_NAMES (имена служб), например, sales.us.oracle.com
  • INSTANCE_NAME (имя экземпляра), например, sales

Если значение параметра SERVICE_NAMES не указано, по умолчанию ему присваивается значение глобального имени базы данных, являющееся сочетанием параметров DB_NAME и DB_DOMAIN. Значение параметра INSTANCE_NAME, устанавливаемое по умолчанию — идентификатор SID, введенный во время установки Oracle или создания базы данных.

Состояние листенера на сервере можно проверить с помощью утилиты lsnrctl, как показано в листинге ниже. Вывод показывает длительность работы Listener Oracle и размещение файла конфигурации службы слушателя. Он содержит также имена баз данных, которые слушатель “прослушивает” на предмет запросов на подключение.

Состояние в разделе Services Summary (Сводка по службам) листинга выше может принимать одно из следующих значений:

  • READY — экземпляр может принимать подключения;
  • BLOCKED — экземпляр не может принимать подключения;
  • UNKNOWN — экземпляр зарегистрирован в файле listener.ora, а не посредством динамической регистрации служб, поэтому его состояние не известно.

Команды TNS Listener Oracle

После вызова утилиты lsnrctl помимо status можно выполнять и другие важные команды. Например, команда services позволяет выяснить, какие службы слушатель отслеживает на предмет запросов на подключение.

На заметку! Состояние службы листенера можно проверить из страницы Net Services Administration (Администрирование сетевых служб) в Oracle Enterprise Manager.

Ознакомиться с доступными командами утилиты lsnrctl можно с помощью команды help, введенной в интерфейсе lsnrctl, как показано в листинге ниже.

После вызова утилиты lsnrctl запуск Listener можно осуществить с помощью команды start, а его остановку — с помощью команды stop. Если эти команды требуется выдать из командной строки операционной системы, можно использовать команды lsnrctl start и lsnrctl stop.

При внесении изменений в файл listener.ora единственный способ ввода этих изменений в действие — перезапуск слушателя. Другой, более безопасный способ — просто перезагрузка информации Listener, в результате чего последние выполненные изменения слушателя будут внесены в файл конфигурации. Команда lsnrctl reload позволяет перезагрузить TNS Listener Oracle “на лету”, без его перезапуска. Подключенные в текущий момент клиенты останутся подключенными во время перезагрузки Listener (или даже при его перезапуске), поскольку слушатель уже “отдал” подключения базе данных и не участвует в обмене данными между клиентом и службой базы данных.

Читайте также:  Windows usb boot bios что это

Внимание! Изменять файл listener.ora не рекомендуется, если только для этого не существует веской причины. Кроме того, при использовании динамической автоматической регистрации служб необходимость в модификации файла возникает значительно реже. Тем не менее, в некоторых случаях приходится изменять определенную часть файла Listener, содержащую информацию о конфигурации сети для всех служб, которые слушатель отслеживает на предмет запросов подключения.

Управление Listener

Хотя установка службы Listener Oracle достаточно проста, после ее выполнения можно предпринять ряд действий для более точной настройки процесса подключения и для обеспечения безопасности службы TNS Listener Oracle. Некоторые из этих параметров описаны в последующих разделах.

Несколько TNS Listener

На одном сервере могут действовать более одной службы Listener NET Oracle, но обычно такую конфигурацию придется применять в Oracle RAC. При использовании нескольких служб слушателя можно конфигурировать параметр CONNECT_TIME_FAILOVER, который определяет длительность ожидания клиентом подключения через одного Listener, прежде чем будет предпринята попытка подключения с помощью другого Listener Oracle.

Установка размера очереди

Иногда большое количество одновременных запросов на подключение со стороны клиентов могут перегрузить службу слушателя. Чтобы уберечь Listener от сбоя, можно использовать параметр QUEUESIZE в файле конфигурации listener.ora для указания допустимого количества параллельно выполняющихся запросов на подключение.

Для большинства операционных систем значение параметра QUEUESIZE — достаточно небольшое число, наподобие 5. Ниже приведен пример установки параметра QUEUESIZE:

Установка пароля для Oracle Listener

При первоначальной установке Listener утилита не имеет никакой защиты паролем. Любой пользователь, имеющий доступ к операционной системе, без труда может остановить Listener Oracle и воспрепятствовать клиентам подключаться, просто введя команду lsnrctl stop в командной строке.

На заметку! Установленный по умолчанию пароль службы слушателя — listener, и при использовании Listener этот пароль указывать не нужно.

Собственный пароль для утилиты Listener Oracle можно установить, как показано в листинге ниже.

После того как пароль успешно изменен, службу Listener нельзя будет останавливать или запускать как раньше — для этого придется ввести пароль пользователя. Для указания листенеру Оракл нового пароля необходимо использовать выражение set password в приглашении утилиты lsnrctl, после чего можно еще раз запустить или остановить службу Oracle Net Listener. Обратите внимание, что выражение set password не устанавливает новый пароль, а просто вынуждает слушателя запрашивать пароль для выполнения административных задач.

Результат неудачной попытки остановки Listener вследствие отсутствия предоставленного пароля показан в листинге ниже. Затем листенер был корректно остановлен посредством применения команды set password.

Источник

tnsping shows no listener

On a 11.2.03 non-rac installation on a OEL 7 vm, I get a weird error. Even though the listener is running, I am not able to issue a tnsping to the DB instance. The DB instance is also up and running.

[[email protected] admin]$ tnsping ggprim
TNS Ping Utility for Linux: Version 11.2.0.3.0 — Production on 16-FEB-2016 19:59:18
Copyright (c) 1997, 2011, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = vm1)(Port = 1521))) (CONNECT_DATA = (SERVICE_NAME = GGPRIM)))
TNS-12541: TNS:no listener

Here is the status of the listener.

[[email protected] admin]$ lsnrctl status LISTENER_GGPRIM
LSNRCTL for Linux: Version 11.2.0.3.0 — Production on 16-FEB-2016 19:59:32
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ggprim)))
STATUS of the LISTENER
Alias LISTENER_GGPRIM
Version TNSLSNR for Linux: Version 11.2.0.3.0 — Production
Start Date 16-FEB-2016 19:55:22
Uptime 0 days 0 hr. 4 min. 10 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/vm1/listener_ggprim/alert/log.xml
Listening Endpoints Summary.
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=ggprim)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vm1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=vm1)(PORT=2484)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
[[email protected] admin]$

And here is the tnsnames.ora

Читайте также:  Как убрать несуществующий windows
[[email protected] admin]$ cat tnsnames.ora
GGPRIM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = vm1)(Port = 1521))
(CONNECT_DATA =
(SERVICE_NAME = GGPRIM)
[[email protected] admin]$

and here is the instance status

[[email protected]

]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 16 20:05:40 2016
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> @cc
INSTANCE_NAME HOST_NAME STATUS LOGINS
ggprim vm1 OPEN ALLOWED
MACHINE USERNAME COUNT(1)
vm1 SYS 1

Best Answer

I know this is late, but I was finally able to remember exactly how i did this..

i can see what your problem is.

its not within oracle. since you have multiple IP addresses, you setup port forwarding from the internal IP to the external. It is not wrong, but u need’nt do that to connect to your vm using putty.

Here is what i suggest you do, since I am not a networking guru. Just Keep it Simple

  • donot keep multiple IPs.
  • Remove Port forwarding from NAT adapter and just keep HOST ONLY
  • Change the IP of your machine to the same subnet as your local physical machine.
  • disable dhcp,dns and use a manual IP on the same subnet.
  • restart network services
  • ensure ifconfig shows new IP for your device (eth0)
  • use that IP in your listener.ora and tnsnames.ora
  • test the tnsping and listener status.

To enable all traffic and bypass firewalls, here is the command you can use.

iptables -A INPUT -i eth0 -p tcp —dport 22 -m state —state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp —sport 22 -m state —state ESTABLISHED -j ACCEPT

Answers

12541, 00000, «TNS:no listener»

// *Cause: The connection request could not be completed because the listener is not running.

// *Action: Ensure that the supplied destination address matches one of

// the addresses used by the listener — compare the TNSNAMES.ORA entry with

// the appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to

// go by way of an Interchange). Start the listener on the remote machine.

This error can result when listener has not been started or Firewall exists between client & DB server.

yeah but like I said, the listener is already running. I cant even do a tns connection as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 16 20:34:37 2016

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

ORA-12541: TNS:no listener

]$ ps -ef | grep tns

root 15 2 0 19:19 ? 00:00:00 [netns]

oracle 5037 1 0 19:55 ? 00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER_GGPRIM -inherit

oracle 7066 4143 0 20:35 pts/0 00:00:00 grep —color=auto tns

]$ lsnrctl status LISTENER_GGPRIM

LSNRCTL for Linux: Version 11.2.0.3.0 — Production on 16-FEB-2016 20:35:38

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=ggprim)))

STATUS of the LISTENER

Version TNSLSNR for Linux: Version 11.2.0.3.0 — Production

Start Date 16-FEB-2016 19:55:22

Uptime 0 days 0 hr. 40 min. 16 sec

Trace Level off

Security ON: Local OS Authentication

Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener Log File /u01/app/oracle/diag/tnslsnr/vm1/listener_ggprim/alert/log.xml

Listening Endpoints Summary.

The listener supports no services

The command completed successfully

Источник

Оцените статью