Слушатель Oracle не работает и не запускается

Я получаю следующие ошибки, начиная с команды lsnrctl status:

C:\Users\pna105>lsnrctl stat

 LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 17:53
 :55

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 64-bit Windows Error: 61: Unknown error

Он работал отлично до перезагрузки, но теперь он не работает, и я также не могу получить доступ к моей домашней странице Oracle.

Мой tnsnames.ora:

  ORACLE = 
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = Localhost)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME = ORACLE)  
    )  
   )

   LISTENER_ORACLE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


  ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
   (CONNECT_DATA =
   (SID = CLRExtProc)
   (PRESENTATION = RO)
  )
  )

My listener.ora: (Здесь была ошибка из-за неустановленных скобок, добавив несколько пробелов, разрешенных проблемой TNS-12518)

   SID_LIST_LISTENER =
   (SID_LIST =
   (SID_DESC =
    (SID_NAME = ORACLE)
    (ORACLE_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  )  
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
    (PROGRAM = extproc)
   )
   (SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:C:\app\PNA105\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  )
  )

  LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
  )

  ADR_BASE_LISTENER = C:\app\PNA105

Ниже приведен вывод команды lsnrctl start

C:\Users\pna105>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 18:26
:22

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

 Starting tnslsnr: please wait...

  TNS-12560: TNS:protocol adapter error
   TNS-00530: Protocol adapter error

Ниже приведена последняя запись, необходимая из файла журнала.

 Started with pid=14784
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
 Listener completed notification to CRS on start

 09-OCT-2014 15:46:01 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=INL007306$))
(SERVICE_NAME=oracle)) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=57389)) * 
establish * oracle * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error
 64-bit Windows Error: 203: Unknown error
 Dynamic address is already listened on (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) 
 (HOST=127.0.0.1)(PORT=1521)))
 09-OCT-2014 15:46:06 * service_register * oracle * 0
 Thu Oct 09 15:46:11 2014
 09-OCT-2014 15:46:11 * service_update * oracle * 0
 09-OCT-2014 15:46:12 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=oracle)) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=57393)) * 
  establish * oracle * 0
 09-OCT-2014 15:46:12 * service_update * oracle * 0
 09-OCT-2014 15:46:13 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=oracle)) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=57394)) * 
 establish * oracle * 0

Пробовал разрешить TNS-12518 и слушатель начал, но все еще не смог получить доступ Домашняя страница Oracle

вывод lnsrctl stat

C:\Users\pna105>lsnrctl stat

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-OCT-2014 17:16
:56

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 STATUS of the LISTENER
  ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
 ction
 Start Date                09-OCT-2014 15:45:58
 Uptime                    0 days 1 hr. 30 min. 58 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   C:\app\PNA105\product\11.2.0\dbhome_1\network\admin\li
 stener.ora
 Listener Log File         c:\app\pna105\diag\tnslsnr\INL007306\listener\alert\lo
 g.xml
 Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "ORACLE" has 2 instance(s).
  Instance "ORACLE", status UNKNOWN, has 1 handler(s) for this service...
  Instance "oracle", status READY, has 1 handler(s) for this service...
  Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "oracleXDB" has 1 instance(s).
  Instance "oracle", status READY, has 1 handler(s) for this service...

Команда успешно завершена

Ответ 1

1. Проверьте переменные окружения (должны быть установлены для системы, а не для пользователя):

ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server
ORACLE_SID = XE

2. Проверьте правильность определения в listener.ora

XE =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

3. Перезапустите сервис (Сервисы> OracleServiceXE).

После этого вы можете увидеть новую службу под названием OracleXETNSListenerXE.
Уже есть старый OracleXETNSListener.

Я начал оба, и тогда я смог установить успешное соединение.

Редактировать:

Если все работает, но вы все еще не можете подключиться, проверьте, нет ли ошибки: ORA-12557: TNS: адаптер протокола не загружается.

Чтобы исправить ошибку, вернитесь к переменным Environment и на этот раз отредактируйте ту, которая называется: Path. Убедитесь, что C:\oraclexe\app\oracle\product\11.2.0\server\bin находится где-то в начале, определенно перед любым другим путем, указывающим на другую версию БД Oracle.

Ответ 2

У меня была та же проблема. Решение в моем случае: запустить CMD как ADMINISTRATOR. затем введите и выполните: "lsnrctl start" подождите около 2 минут, затем должно работать. (в моем случае было всего 50 секунд, но просто чтобы быть в безопасности)

Ответ 3

Я решил это, обновив файл listener.ora внутри каталога oracle oraclexe\app\oracle\product\11.2.0\server\network\ADMIN.

Почему это случилось со мной, потому что я изменил имя своей системы, но внутри listener.ora было старое имя для HOST.

Это может быть одной из причин... для тех, кто по-прежнему сталкивается с такой проблемой, может также подумать об этой возможности.

Ответ 4

У меня была такая же проблема на 11.201 в Windows. После: добавьте 11.203 64-битный сервер и клиент в новые папки. После установки была изменена переменная среды PATH. Ошибка при прослушивании появилась после перезапуска службы прослушивателя. В моем случае было ночное время и количество обновлений Windows, поэтому перезагрузка сервера Windows помогла нам. Также я очистил файл listener.log в соответствии с http://pavandba.com/tag/tns-12560-tns-protocol-adapter-error/, это было удивительно большое.

Ответ 5

Убедитесь, что переменная окружения ORACLE_HOME указывает на правильный дом оракула. В моем случае это было изменено с помощью другой установки программного обеспечения.

Ответ 6

То же самое произошло со мной после того, как я сменил имя компьютера. Чтобы исправить это, просто найдите файл listener.ora и замените имя старого компьютера новым

Ответ 7

У меня возникает аналогичная проблема при установке oracle 11gR2 на сервере Windows 2012. проблема решена, когда я запускаю cmd.exe в качестве права администратора и запускаю "lsnrctl start LISTENER".

Ответ 8

Я столкнулся с той же проблемой и причиной: Mine - это персональный компьютер с Windows. И я изменил имя компьютера, и это не отразилось на listener.ora. Обновление ORACLE_HOME\network\ADMIN\listener.ora с обновленным именем хоста исправило проблему.

Ответ 9

В моем случае я попытался запустить слушателя через консоль:

> lsnrctl star

Эта команда напечатала следующую ошибку:

TNS-12560: TNS:protocol adapter error
TNS-00583: Valid node checking: unable to parse configuration parameters

Итак, я выполнил следующие действия:

  • Проверьте, содержат ли файлы Oracle listener.ora или sqlnet.ora специальные символы
  • Убедитесь, что файл Oracle listener.ora или sqlnet.ora` находится в неправильном формате или синтаксисе
  • Проверьте, есть ли в файле Oracle listener.ora или sqlnet.ora некоторые левые оправданные скобки, которые не принимаются синтаксическим анализатором oracle.

Посмотрите на эти файлы и проверьте правильность синтаксиса. Если возможно, удалите/переименуйте sqlnet.ora и попробуйте перезапустить прослушиватель. Или удалите/переименуйте файл listener.ora или sqlnet.ora и заново создайте его. Это решительно решит проблему.

Ответ 10

В моем случае служба прослушивания окон перестала работать, поэтому я не смог подключиться к Qracle с помощью SQL Developer. Однако я смог подключиться через sqlplus.

Ниже решение работало для меня:

Во-первых, убедитесь, что ваша служба прослушивания работает.

C:\Documents and Settings\ME>lsnrctl status 

Если служба прослушивателя не запущена, перезапустите службу прослушивателя с помощью диспетчера задач Windows или используйте утилиту командной строки DOS, чтобы перезапустить службу Windows с помощью команды net start:

C:\Documents and Settings\ME>net start OracleOraDb10g_home1TNSListener 

Попробуйте запустить службу прослушивателя, используя lsnrctl из lsnrctl строки DOS.

lsnrctl start

Ответ 11

Мне удалось решить проблему, из-за которой произошла сбой конфигурации в контейнере докеров, на котором установлена ​​песочница Hortonworks HDP 2.6.

Если исходная конфигурация завершилась неудачей, слушатель будет запущен и должен быть убит первым:

ps -aux | grep tnslsnr
kill {process id identified above}

Затем следующим шагом будет исправить проблему с общей памятью, из-за которой процесс конфигурации завершился с ошибкой.

Oracle XE требует 1 Гб общей памяти и не работает иначе (я не пытался 512 МБ) в соответствии с https://blogs.oracle.com/oraclewebcentersuite/implement-oracle-database-xe-as-docker-containers.

vi /etc/fstab

измените/добавьте строку в:

tmpfs    /dev/shm     tmpfs   defaults,size=1024m 0 0

Затем перезагрузите конфигурацию с помощью:

mount -a

Имейте в виду, что в следующий раз, когда вы перезапустите контейнер докеров, вам, возможно, придется "mount -a".

Ответ 12

В моем случае служба прослушивателя не запускается, потому что она настроена на прослушивание VPN-соединения и на других серверных интерфейсах.

Как только я подключился к VPN, он просто запустился.

Однако, @Imre трюк с "lsnrctl start" вернет мне правильный путь.

Ответ 13

Проблема

Служба прослушивания остановлена в services.msc.

Причина

Пароль пользователя был изменен.

Решение

  • Откройте services.msc.
  • Щелкните правой кнопкой мыши определенную службу прослушивания.
  • Нажмите Свойства.
  • Перейдите на вкладку "Вход".
  • Измените пароль.
  • Нажмите ОК.
  • Запустите сервис.