Слушатель 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
.
- Щелкните правой кнопкой мыши определенную службу прослушивания.
- Нажмите Свойства.
- Перейдите на вкладку "Вход".
- Измените пароль.
- Нажмите ОК.
- Запустите сервис.