Слушатель не поддерживает никаких служб - соединение закрыто - PullRequest
0 голосов
/ 08 января 2019

Пытаясь настроить dblink, я повредил прослушиватель оракула в SUSE с db Oracle, я отменил изменения, сделанные в файлах listener.ora и tnsnames.ora, но это не сработало, затем я перезагрузил компьютер и использовал состояние lsnrctl

Connecting to (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.3.250) (PORT = 1521)))
TNS-12541: TNS: no listener
 TNS-12560: TNS: protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1521)))
TNS-12541: TNS: no listener
 TNS-12560: TNS: protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

Я понимаю, что если бы я оставил все как есть, LISTENER должен был запуститься автоматически и без проблем.

Теперь я использовал $ ORACLE_HOME / bin / lsnrctl start LISTENER

STATUS of the LISTENER
------------------------
Alias ​​LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 07-JAN-2019 20:35:42
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/oracle/product/11gR2/db/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/srvbdlnx/listener/alert/log.xml
Listening Endpoints Summary ...
  (DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.3.250) (PORT = 1521)))
  (DESCRIPTION = (ADDRESS = (PROTOCOL = ipc) (KEY = EXTPROC1521)))
The listener supports no services
The command completed successfully

Потом я перезапустил LISTENER и, видимо, слушаю:

Listening Endpoints Summary ...
  (DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.3.250) (PORT = 1521)))
  (DESCRIPTION = (ADDRESS = (PROTOCOL = ipc) (KEY = EXTPROC1521)))
Services Summary ...
Service "app" has 1 instance (s).
  Instance "app", status READY, has 1 handler (s) for this service ...
Service "appXDB" has 1 instance (s).
  Instance "app", status READY, has 1 handler (s) for this service ...
The command completed successfully

Но когда я пытаюсь войти в систему удаленно, приложение не работает:

ORA-12537:TNS:connection closed

Изменить параметр local_listener в БД, но он не работает.

alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.250)(PORT=1521))';

База данных работает, потому что я могу войти в систему с пользователем SYSTEM в sqlplus в консоли.

мой файл listener.ora:

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

ADR_BASE_LISTENER = /opt/oracle

tnsnames.ora

APP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.3.250) (PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = app)
    )
  )

Чего-то не хватает в файлах, которые я модифицировал? Какие изменения могли произойти из-за изменений, которые я внес в эти файлы? Какие другие команды я могу использовать, чтобы увидеть больше ошибок?

Я новичок, заранее спасибо.

1 Ответ

0 голосов
/ 08 января 2019

По какой-то причине, когда я изменил эти файлы, они изменили разрешения для каталога /var/tmp/.oracle, это было обнаружено, поскольку пользователь Oracle не смог остановить прослушиватель.

# chown -R oracle:oinstall .oracle
# chmod -R 01777 .oracle
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...