Прослушиватель Oracle не запускается
Обновлено: 21.11.2024
Чтобы должным образом устранить эту ошибку и подключиться к соответствующей базе данных Oracle, нам нужно немного разъяснить, как ведет себя Oracle и, следовательно, в первую очередь, что вызывает эту проблему.
SID и SERVICE_NAMES
Важно понимать (небольшую) разницу между тем, что Oracle определяет как SID, и SERVICE_NAME , поскольку позже мы будем использовать эту информацию для создания правильной строки подключения.
В Oracle системный идентификатор (или SID ) представляет собой локальный идентификатор длиной до восьми символов, который используется для идентификации конкретной базы данных и отличия ее от других баз данных в системе.
SERVICE_NAMES, с другой стороны, представляют собой имена, с помощью которых могут быть подключены экземпляры базы данных. SERVICE_NAME обычно соответствует формату SID, за которым следует домен базы данных, например: DB_UNIQUE_NAME.DB_DOMAIN
Прослушиватель TNS
Когда клиент пытается подключиться к базе данных Oracle, вместо того, чтобы подключаться к базе данных напрямую, существует брокерская служба, которая вмешивается и обрабатывает запрос на подключение для клиента.
Это брокерское приложение называется прослушивателем и выполняет задачу прослушивания входящих клиентских запросов. Когда запрос получен, прослушиватель обрабатывает и перенаправляет этот запрос на соответствующий сервер базы данных Oracle с помощью обработчика службы, который просто действует как соединение между прослушивателем и сервером базы данных.
Имена и конфигурация TNS
При подключении к базе данных Oracle обычно ваш сервер базы данных будет иметь tnsnames.ora , файл конфигурации, который информирует сервер о NET_SERVICE_NAMES, которые являются допустимыми подключениями к базе данных. По умолчанию этот файл находится в папке ORACLE_HOME/network/admin .
Например, дескриптор NET_SERVICE_NAME в tnsnames.ora может иметь следующий формат:
Строка подключения
Получив немного больше информации о том, как Oracle на самом деле подключается к базам данных, мы теперь можем посмотреть, как форматируются строки подключения.
Подключение через TNS Name/NET_SERVICE_NAME
При подключении через NET_SERVICE_NAME, как указано в файле конфигурации tnsnames.ora, вы должны использовать имя пользователя , пароль , а затем добавить к NET_SERVICE_NAME символ @, например:
Таким образом, для нашего предыдущего дескриптора NET_SERVICE_NAME выше фактическая NET_SERVICE_NAME, которую мы определили, была myDatabaseNetService , поэтому наша строка подключения может выглядеть примерно так:
Подключиться через SERVICE_NAME
При подключении через SERVICE_NAME вам также потребуется добавить хост и порт вместе с символом / перед самой SERVICE_NAME:
Подключение через SID
Наконец, при подключении без настроенного NET_SERVICE_NAME или даже SERVICE_NAME вы можете сделать это напрямую через SID, используя символ : вместо символа /, как в строке подключения SERVICE_NAME:
Вывод: в этом руководстве вы узнаете о прослушивателе Oracle и о том, как использовать команды управления прослушивателем для управления прослушивателем.
Введение в Oracle Listener
Прослушиватель — это отдельный процесс сервера базы данных, который выполняется локально на сервере базы данных или удаленно в среде Oracle RAC.
На следующем рисунке показана архитектура базы данных Oracle и местонахождение слушателя:
Когда приходит запрос клиента, слушатель сначала получает его. Затем прослушиватель устанавливает соединение между клиентом и экземпляром базы данных.
После успешного подключения клиента к экземпляру базы данных прослушиватель передает подключение клиента серверному процессу.
Если прослушиватель перестанет работать, вы больше не сможете подключиться к базе данных Oracle. Однако это не повлияет на все существующие соединения.
Команды управления Oracle Listener
Чтобы запустить прослушиватель, используйте команду LSNCTRL из командной строки в Windows или терминала в Linux:
Введите команду справки, чтобы увидеть все доступные параметры:
Вот результат:
Вы можете использовать все эти команды для управления слушателем. Давайте воспользуемся командой состояния:
В выходных данных отображается состояние прослушивателя, например псевдоним, версия, дата начала, время безотказной работы, файл трассировки, безопасность, файлы параметров прослушивателя, файлы журналов прослушивателя и сводка конечной точки прослушивания.
Теперь введите команду остановки:
После того, как слушатель прекратит прослушивание, вы больше не сможете подключиться к базе данных Oracle. Любая попытка подключения к базе данных Oracle приведет к следующей ошибке:
Обратите внимание, что все соединения, установленные до остановки прослушивателя, не будут затронуты.Поскольку остановка прослушивателя предотвращает входящие подключения, она не отключает те, которые уже подключены.
Используйте команду запуска, чтобы запустить прослушиватель:
Чтобы выйти из прослушивателя, используйте команду выхода:
Еще один способ выполнить команду прослушивателя — через командную строку, не заходя в интерфейс управления прослушивателем. Например, чтобы просмотреть состояние прослушивателя, вы можете использовать следующую команду в командной строке в Windows или терминале в Linux:
В Windows прослушиватель Oracle имеет службу, работающую как прослушиватель TNS. Вы также можете контролировать состояние слушателя с помощью этой службы, останавливая и запуская ее.
В этом руководстве вы узнали об Oracle Listener и о том, как использовать команды для управления прослушивателем.
В Oracle прослушиватель — это процесс, который выполняется на компьютере сервера базы данных. Он управляет трафиком входящих запросов на подключение от клиентов к серверу базы данных и, следовательно, очень важен. Каждый раз, когда клиент запрашивает сетевой сеанс с сервером, прослушиватель получает этот запрос клиента. Прослушиватель проверит, соответствует ли информация о клиенте информации о прослушивателе, и тем самым предоставит (или отклонит) запрос. Чтобы узнать больше о слушателях, нажмите здесь.
Как правило, файл listener.ora можно найти в каталоге $ORACLE_HOME/network/admin или ORACLE_BASE\ORACLE_HOME\network\admin на платформах Unix и Windows соответственно.
При возникновении проблем с прослушивателем пользователь, скорее всего, столкнется с ORA-12541.
Проблема
Сообщение ORA-12541 гласит: «TNS не слушает». Это происходит, если слушатель либо не работает, когда пытается установить соединение, либо если он не запущен или неправильно настроен. Кроме того, это может быть вызвано проблемой подключения к сети.
Чтобы выяснить, что может быть причиной проблемы, выполните действия, описанные ниже.
Решение
Во-первых, убедитесь, что прослушиватель запущен и работает. Для этого перейдите в Панель управления в Службы под NT или в программу управления прослушивателем (LSNRCTL).
C:\Documents and Settings\ME>статистика lsnrctl
Это должно показать текущий статус слушателя. Если прослушиватель в настоящее время не запущен, перезапустите службу прослушивателя, выполнив команду «net start», заполнив «XX» используемой версией:
C:\Documents and Settings\ME>net start OracleOraDbXXg_home1TNSListener
Если прослушиватель запущен и работает, проблема может заключаться в том, что прослушиватель не был связан с правильным экземпляром или протоколом. Чтобы убедиться, что все экземпляры верны, вы можете получить основную информацию о прослушивателе и параметрах конфигурации с помощью простых команд, таких как команда STATUS. Команда состояния предоставит основную информацию о прослушивателе, а также о настроенных адресах протоколов, сводке зарегистрированных служб и обработчиках служб, выделенных для каждой службы. Существует 4 типа статуса: готов, заблокирован, готов/вторичен и неизвестен. Ниже приведены описания каждого сигнала состояния.
- Готово: экземпляр может принимать соединения.
- Заблокировано: экземпляр не может принимать подключения
- ГОТОВЫЙ/ДОПОЛНИТЕЛЬНЫЙ: дополнительный экземпляр в основной/дополнительной конфигурации Oracle9i Real Application Clusters, который готов принимать подключения
- НЕИЗВЕСТНО: статус неизвестен, поскольку экземпляр зарегистрирован статически в файле listener.ora, а не динамически при регистрации службы.
Ниже приведен частичный пример команды STATUS от Oracle:
Подключение к (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=net))) STATUS LISTENER ———————— Псевдоним LISTENER Version
< em>TNSLSNR для Solaris: версия 9.2.0.2.0 — дата начала разработки…
Если вам по-прежнему не удается запустить прослушиватель, вы можете удалить его и создать новый в помощнике по настройке сети.
Последней возможной причиной может быть проблема с сетью. Если вы обнаружите, что прослушиватель настроен и работает правильно, проверьте правильность сетевого подключения.
Заглядывая вперед
Выполнение правильных действий по настройке является ключом к успешному установлению соединения с прослушивателем. Для получения дополнительной информации ознакомьтесь с документацией Oracle по настройке и администрированию прослушивателя здесь.
Чтобы избежать будущих проблем с прослушивателем, пользователи Oracle должны активно отслеживать и обеспечивать безопасность. Один из первых и самых простых способов защитить прослушиватель — зашифровать его паролем, чтобы только авторизованные пользователи могли просматривать и изменять настройки.
Помимо безопасности, всегда рекомендуется постоянно отслеживать и просматривать файл журнала прослушивателя на наличие любого из следующих условий, которые могут вызвать проблемы с прослушивателем:
- Нерегулярное время установления соединения.
- Проблемы с подключением и отказы
- Непредвиденное отключение прослушивателя, которое может привести к DOS-атаке
Если у вас по-прежнему возникают проблемы с ORA-12541 или другие проблемы со слушателями, обратитесь за профессиональной помощью к системному администратору баз данных или к лицензированному консультанту Oracle.
ВНИМАНИЕ! Некоторые изображения могут неправильно загружаться в статье базы знаний. Если вы видите неработающее изображение, щелкните правой кнопкой мыши и выберите «Открыть изображение в новой вкладке». Приносим извинения за неудобства.
Ошибка: "ORA-12541: TNS: нет прослушивателя"
Идентификатор статьи: 159658
Обновлено:
Товары
Проблема/Введение
Вы видите ошибку "ORA-12541: TNS: нет прослушивателя" на сервере Symantec Data Loss Prevention Enforce. Узнайте, как проверить состояние службы прослушивателя Oracle и при необходимости запустить или перезапустить службу.
ORA-12541: TNS: нет слушателя
Причина
Основной причиной может быть ряд проблем, начиная от остановленного прослушивателя, неправильно зарегистрированного и поврежденного файла конфигурации прослушивателя.
Разрешение
На сервере Oracle выполните следующие действия, чтобы проверить состояние прослушивателя и запустить его, если он не запущен.
- Откройте командную строку с повышенными правами
- Введите статус lsnrctl
СТАТУС СЛУШАТЕЛЯ
--------------------------------------
Псевдоним СЛУШАТЕЛЯ
Версия TNSLSNR для 64- бит Windows: Версия 11.2.0.4.0 - Produ
ction
Дата начала 02-JUN-2016 07:04:49
Время работы 46 дней 6 часов. 43 мин. 18 секунд
Уровень трассировки отключен
Безопасность включена: Аутентификация локальной ОС
SNMP ВЫКЛЮЧЕН
Файл параметров прослушивателя C:\oracle\product\11.2.0.4\db_1\network\admin\listener .ora
Файл журнала прослушивателя C:\oracle\diag\tnslsnr\ИМЯ_СЕРВЕРА\listener\alert\log.xml
Сводка конечных точек прослушивания.
(DESCRIPTION=(АДРЕС=(ПРОТОКОЛ=tcp)(HOST=HOSTIPADDRESS)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe \PROTECTipc)))
Сводка услуг.
У службы "CLRExtProc" 1 экземпляр(ы).
Экземпляр "CLRExtProc", статус UNKNOWN, имеет 1 обработчик (ы) для этой службы.
У службы "защита" 1 экземпляр(а).
Экземпляр «защитить», статус ГОТОВ, имеет 1 обработчик(и) для этой службы.
Команда выполнена успешно
Если служба прослушивателя «защита» не ГОТОВА, используйте следующую команду, чтобы запустить прослушиватель.
запуск lsnrctl
TNSLSNR для 64-разрядной версии Windows: версия 11.2.0.4.0 — Production
Файл системных параметров — C:\oracle\product\11.2.0.4\db_1\network\admin\listener.ora
Сообщения журнала записываются в C:\oracle\diag\tnslsnr\SERVERNAME\listener\alert\log.xml
Прослушивание: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=tehb0x-2008)(PORT= 1521)))
Прослушивание: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PROTECTipc)))
После запуска слушателя подождите несколько минут и выполните следующую команду:
службы lsnrctl
Сводка услуг.
У службы "CLRExtProc" 1 экземпляр(ы).
Экземпляр "CLRExtProc", статус UNKNOWN, имеет 1 обработчик (ы) для этой службы.
Обработчик(и):
"DEDICATED" установлен:0 отклонен:0
ЛОКАЛЬНЫЙ СЕРВЕР
У службы "protect" есть 1 экземпляр(ы).
Экземпляр «защитить», статус ГОТОВ, имеет 1 обработчик(и) для этой службы.
Обработчик(и):
"DEDICATED" установлен:0 отклонен:0 состояние: готов
ЛОКАЛЬНЫЙ СЕРВЕР
Команда выполнена успешно
Ожидаемый результат: служба "защита" указана в списке и имеет статус ГОТОВ.
Читайте также: