powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Динамическая регистрация Listener
18 сообщений из 18, страница 1 из 1
Динамическая регистрация Listener
    #39668610
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый всем , вчера случилась какая-то чертовщина с листенером с одной из критических важных баз .

По порядку , сервер настраивал не я , по отсутствию listener.ora понял что работает динамическая регистрация баз .

Потом случилось "что-то" (<< это я и пытаюсь выяснить ) и листенер упал и все настройки сбились . Вот что говорит алерт.

алерт
Код: plaintext
Error listening on : (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

Код: plaintext
1.
2.
TNS-12542: TNS:address already in use
TNS-12560 : TNS:protocol adapter error
TNS-00521 : Address already in use


1) Откуда listener в динамической регистрации берет имя или ип хоста ? Из /etc/hosts ? Или из tsnames.ora в $TNS_ADMIN ?
2) Почему от пытался подключится к HOST= NULL ?
3) Почему вообще сбились настройки и listener в итоге потерялся и не видел где он находится ... ?

Я думаю что это были проблемы с сетью ( может неправ ) .

Как в итоге решил .

Сначала хотел перекинуть на статическую регистрацию ( создал listener.ora , прописал все ) но :
Код: plsql
1.
alter system set local_listener 


отказывался работать (зависал).
netca говорил что порт занят.

Увидев это, сделал рестарт сервера и о Чудо , listener увидел host , мне оставалось только запустить базу ( на всякий случай сразу же прописал alter system register ) .

На все манипуляции ушло минут 25-30 , и это для этой базы очень много . << тут сказывается еще моя нехватка опыта , нужно было сразу перестартовать сервер.

P.S. Еще важно упоминуть в tnsnames.ora помимо того что было я прописал еще один сервис ( хотя я не думаю что проблема в этом )
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668625
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104
алерт
Код: plaintext
Error listening on : (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

Код: plaintext
1.
2.
TNS-12542: TNS:address already in use
TNS-12560 : TNS:protocol adapter error
TNS-00521 : Address already in use
Нужно было просто найти процесс, который занял порт (netstat -tnlp) и прибить его. Скорее всего это и был твой зависший (по каким-то причинам) листенер

maverick21041) Откуда listener в динамической регистрации берет имя или ип хоста ? Из /etc/hosts ? Или из tsnames.ora в $TNS_ADMIN ?По дефолту (порт 1521 на всех интерфейсах)
maverick21042) Почему от пытался подключится к HOST= NULL ?Это и есть все интерфейсы (0.0.0.0)
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668629
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

Ок , как я понял он сбросился до дефолтных настроек , но что могло способствовать этому ?

Извините за мою тупость но я так и не понял откуда листенер берет значения host ..... После рестарта он начал подключаться к host=myhost.domain.net ( как он узнал ? Из переменной hostname ? )

myhost.domain.net прописан в файле hosts ( оттуда он и берет ip ).
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668704
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104Вячеслав Любомудров,

Ок , как я понял он сбросился до дефолтных настроек , но что могло способствовать этому ?

Извините за мою тупость но я так и не понял откуда листенер берет значения host ..... После рестарта он начал подключаться к host=myhost.domain.net ( как он узнал ? Из переменной hostname ? )

myhost.domain.net прописан в файле hosts ( оттуда он и берет ip ).


Код: plsql
1.
2.
man gethostname
man gethostbyname
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668731
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninmaverick2104Вячеслав Любомудров,

Ок , как я понял он сбросился до дефолтных настроек , но что могло способствовать этому ?

Извините за мою тупость но я так и не понял откуда листенер берет значения host ..... После рестарта он начал подключаться к host=myhost.domain.net ( как он узнал ? Из переменной hostname ? )

myhost.domain.net прописан в файле hosts ( оттуда он и берет ip ).


Код: plsql
1.
2.
man gethostname
man gethostbyname



Спасибо я узнал все что меня интересовало.
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668734
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104Спасибо я узнал все что меня интересовало.
Осталось еще осознать 2 вещи:
1. не листенер регистрируется динамически в БД, а сама БД динамически регистрируется в листенере, если тот отвечает.
2. Сам листенер, его конфиг и логи, вообще говоря, не обязаны лежать в $ORACLE_HOME того экземпляра, с которым Вы работаете - это к вопросу о "по отсутствию listener.ora понял...".
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668741
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousmaverick2104Спасибо я узнал все что меня интересовало.
Осталось еще осознать 2 вещи:
1. не листенер регистрируется динамически в БД, а сама БД динамически регистрируется в листенере, если тот отвечает.
2. Сам листенер, его конфиг и логи, вообще говоря, не обязаны лежать в $ORACLE_HOME того экземпляра, с которым Вы работаете - это к вопросу о "по отсутствию listener.ora понял...".

1) Судя по документации для успешной регистрации базы необходимо чтоб были прописаны service_name и instance_name .

2) Путь к listener.ora я проверял через echo $TNS_ADMIN.
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668748
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick21041) Судя по документации для успешной регистрации базы необходимо чтоб были прописаны service_name и instance_name .
2) Путь к listener.ora я проверял через echo $TNS_ADMIN.
1. листенеры бывают двух видов: local и remote.
На local БД регистрируется сама или по alter system register.
Динамическая регистрация заключается в том, что экземпляр сообщает листенеру кто он такой и какие сервисы обслуживает.
Статическая регистрация - это когда данная информация прописывается в listener.ora.

2. Листенер может быть поднят не то что в другом окружении, но и от другого пользователя.
БД обращается к нему как к сетевому сервису.
Для проверки состояния листенера лучше пользоваться услугами lsnrctl.
Если листенер обозван именем, отличным от LISTENER, то его необходимо прописать в tnsnames.ora, которым пользуется БД.
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668805
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104andrey_anonymousпропущено...

Осталось еще осознать 2 вещи:
1. не листенер регистрируется динамически в БД, а сама БД динамически регистрируется в листенере, если тот отвечает.
2. Сам листенер, его конфиг и логи, вообще говоря, не обязаны лежать в $ORACLE_HOME того экземпляра, с которым Вы работаете - это к вопросу о "по отсутствию listener.ora понял...".

1) Судя по документации для успешной регистрации базы необходимо чтоб были прописаны service_name и instance_name .

2) Путь к listener.ora я проверял через echo $TNS_ADMIN.

проверьте также:
Код: plsql
1.
2.
3.
4.
5.
/etc/listener.ora
/etc/tnsnames.ora
## или ( В зависимости от ОС)
/var/opt/oracle/listener.ora
/var/opt/oracle/sqlnet.ora
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668806
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуток ошибся:
Vadim Lejnin...
проверьте также:
Код: plsql
1.
2.
3.
4.
5.
/etc/listener.ora
/etc/tnsnames.ora
## или ( В зависимости от ОС)
/var/opt/oracle/listener.ora
/var/opt/oracle/tnsnames.ora
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668810
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,

Пусто.
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668811
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если листенер стартует с грида, то тут вообще все бесполезно ))
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668816
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim LejninЧуток ошибся
С учетом
maverick2104 сервер настраивал не я
вариантов миллион, надо от начала начал ковырять.
Я бы поискал стартовые скрипты, которые поднимают листенер при старте системы, или сервис, если под win...
Там все что угодно может быть переопределено.
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668821
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А че вы собственно искать собрались?
Ну нет listener.ora, ну и что?
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668827
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровНу нет listener.ora, ну и что?
...или есть, и листенер там назван нештатно...
Зачем гадать, если можно просто раскопать действующий конфиг и актуальное окружение, базируясь либо на скриптах (если не поднялся), либо прямо от процесса (если заработало) все выяснить достоверно?
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668833
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЗачем гадать, если можно просто раскопать действующий конфиг и актуальное окружение, базируясь либо на скриптах (если не поднялся)

Примерно на что ориентироватся в раскопке ? Хочу наверняка все выяснить.
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668867
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104andrey_anonymousЗачем гадать, если можно просто раскопать действующий конфиг и актуальное окружение, базируясь либо на скриптах (если не поднялся)

Примерно на что ориентироватся в раскопке ? Хочу наверняка все выяснить.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$ ps -ef | grep tnslsnr
oracle    3550     1  0 Jun07 ?        00:03:32 /oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle   18111 26740  0 14:57 pts/0    00:00:00 grep tnslsnr

$ fuser $ORACLE_HOME/bin/tnslsnr
/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr:  3550e
[oracle@spoim tmp]$ ps -fp 3550
UID        PID  PPID  C STIME TTY          TIME CMD
oracle    3550     1  0 Jun07 ?        00:03:32 /oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit

$ lsnrctl status
....
Listener Parameter File   /var/opt/oracle/listener.ora
...
...
Рейтинг: 0 / 0
Динамическая регистрация Listener
    #39668875
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,

Проверил ,все хорошо , все пути идут по $ORACLE_HOME/bin . А строка Listener parameter file отсутствует.

Всем спасибо за разжевывание.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Динамическая регистрация Listener
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]