Oracle Listener перестал работать - PullRequest
0 голосов
/ 24 июня 2018

У меня проблема с моим слушателем Oracle. Я бегу на RHEL6, и вдруг Слушатель перестал работать. Я могу sqlplus / as syadmin, и он отлично работает с терминала.

Всякий раз, когда я запускаю команду lsnrctl status, lsnrctl start, lsnrctl stop, выдается ошибка ниже.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dev32018)(PORT=1521)))
TNS-12538: TNS:no such protocol adapter
TNS-12560: TNS:protocol adapter error
TNS-00508: No such protocol adapter..

Я могу пропинговать dev32018, и это успешно. А в лог-файле ниже показано сообщение.

 type=UNKNOWN level=16 host_id=dev32018
 host_addr=10.68.11.186
 TNS-01150: The address of the specified listener name is incorrect
 TNS-01153: Failed to process string: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dev32018)(PORT=1521)))

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

У меня проблема с моим слушателем Oracle. Я бегу на RHEL6, и вдруг Слушатель перестал работать. Я могу sqlplus / as syadmin, и он отлично работает с терминала.

Всякий раз, когда я запускаю команду lsnrctl status, lsnrctl start, lsnrctl stop, выдается ошибка ниже.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dev32018)(PORT=1521)))
TNS-12538: TNS:no such protocol adapter
TNS-12560: TNS:protocol adapter error
TNS-00508: No such protocol adapter..

Я могу пропинговать dev32018, и это успешно. А в лог-файле ниже показано сообщение.

 type=UNKNOWN level=16 host_id=dev32018
 host_addr=10.68.11.186
 TNS-01150: The address of the specified listener name is incorrect
 TNS-01153: Failed to process string: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dev32018)(PORT=1521)))

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

Обновлено в соответствии с просьбой в комментариях

 tnsnames.ora Network Configuration File: /app1/oracle/product/11.2.0.4/db_1/network/admin/tnsnames.ora
 Generated by Oracle configuration tools.

DEV32018 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dev32018)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dev32018.corp.ae)
    )
  )

DEV3DB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dev32018)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dev32018.corp.ae)
    )
  )

LISTENER.ORA

 listener.ora Network Configuration File: /app1/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
 Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dev32018)(PORT = 1521))
    )
  )

LISTENER2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dev32018)(PORT = 1522))
    )
  )
ADR_BASE_LISTENER = /app1/oracle

---------------------------------nslookup 10.68.11.186------------
oracle@dev32018 admin]$ nslookup 10.68.11.186
Server:         10.51.156.161
Address:        10.51.156.161#53

** server can't find 186.11.68.10.in-addr.arpa.: NXDOMAIN

--------------------------------nslookup dev32018---------------------------

[root@dev32018 etc]# nslookup dev32018
;; Got SERVFAIL reply from 10.51.156.161, trying next server
;; Got SERVFAIL reply from 10.55.155.32, trying next server
Server:         10.37.164.207
Address:        10.37.164.207#53

** server can't find dev32018: SERVFAIL

-------Telnet
[root@dev32018 etc]# telnet dev32018 1521
Trying 10.68.11.186...
telnet: connect to address 10.68.11.186: Connection refused

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Я решил проблему, запустив скрипт "relink" в каталоге oracle home / bin $ ORACLE_HOME / bin relink all

На завершение работы команды слушателя потребовалось около 30 секунд.Я не уверен, в чем была проблема и что этот скрипт исправил.Спасибо за все

0 голосов
/ 25 июня 2018

Убедитесь, что вы используете lsnrctl status в Oracle, если нет.

Пожалуйста, попробуйте в терминале или войдите в систему как Oracle USER.

$ su # su - oracle $ whoami

В этом пункте whoami должен вернуть вам Oracle , и вы можете запустить lsnrctl status

И слушатель сейчас запустится: D

Вы можете создать файл sh и добавить его к etc/init.d для автоматического запуска при следующем запуске машины.

Обновление

Вам нужно будет запустить следующую команду в пользователе Oracle.

. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

Это для Oracle XE, эту конкретную команду вы можете найти в документации по установке вашей версии Oracle. А дальше вы сможете запустить lsnrctl status

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...