powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос про листнер
7 сообщений из 7, страница 1 из 1
Вопрос про листнер
    #32188647
kengur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть сервак Unix
на нем Oracle 8.1.7 и веб-обвязка(Перл, хтмл)

можно ли средствами Oracle(без Юниксового файервола) сделать так, чтобы не было открытых оракловых сервисов.

В листенере следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 xxx = ( address_list= (address=(protocol=ipc) (key=pnpkey)))

 sid_list_xxx=
      (sid_list=
                (sid_desc=
                    (sid_name=xxx)
                )
      )


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER   --и почему он LISTENER, а не ххх???
 
 ------------------------
 
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version  8 . 1 . 7 . 4 . 0  - Production
Start Date                 22 -JUN- 2003   15 : 52 : 44 
Uptime                     0  days  0  hr.  0  min.  12  sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/oracle/network/admin/listener.ora
Listener Log File         /opt/oracle/product/oracle/network/log/listener.log
The listener supports no services
The command completed successfully
LSNRCTL>


но он все равно открывает 1521 порт
можно ли как-то настроить листнер, чтобы доступ был только для локальных прог по IPC, а порты не открывались?
...
Рейтинг: 0 / 0
Вопрос про листнер
    #32188664
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>можно ли как-то настроить листнер, чтобы доступ был только для локальных
>прог по IPC, а порты не открывались?

просто не стартовать listener. А если локальный доступ осуществляется не под эккаунтом oracle, то прописать в окружении $ORACLE_SID и $ORACLE_HOME.
...
Рейтинг: 0 / 0
Вопрос про листнер
    #32188665
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Listener opens port you asked it to open. Somewhere in LISTENER.ORA in listener XXX definition you have

Код: plaintext
(ADDRESS  =   ( PROTOCOL =  TCP ) ( HOST  = host-name-or-ip-address) ( PORT =  1521  ) )


That is why port 1521 is open. Now about "и почему он LISTENER, а не ххх???". Listener command STATUS (same as many others) has syntax

Код: plaintext
STATUS [listener_name]


so if you did not specify listener name it defaults to LISTENER. Another words you asked for a status of a wrong listener. If your LISTENER.ORA file has definitions of multiple listeners and one of them is called XXX, you need to issue STATUS XXX. And, by the way, it will still show line

Код: plaintext
STATUS of the LISTENER


XXX will appear in Alias line:

Код: plaintext
Alias                     XXX


SY
P.S. On Windows, listener_name defaults, for some reason (at least on NT 8.1.6) to last listener service you started.
...
Рейтинг: 0 / 0
Вопрос про листнер
    #32188679
kengur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
LSNRCTL> status xxx
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))(CONNECT_DATA=(SID=xxx)(SERVER=DEDICATED)))
STATUS of the LISTENER
 ------------------------
 
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version  8 . 1 . 7 . 4 . 0  - Production
Start Date                 22 -JUN- 2003   15 : 52 : 44 
Uptime                     0  days  3  hr.  14  min.  30  sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/oracle/network/admin/listener.ora
Listener Log File         /opt/oracle/product/oracle/network/log/listener.log
Services Summary...
  xxx               has  1  service handler(s)
The command completed successfully
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
 ------------------------
 
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version  8 . 1 . 7 . 4 . 0  - Production
Start Date                 22 -JUN- 2003   15 : 52 : 44 
Uptime                     0  days  3  hr.  14  min.  54  sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/oracle/network/admin/listener.ora
Listener Log File         /opt/oracle/product/oracle/network/log/listener.log
Services Summary...
  xxx               has  1  service handler(s)
The command completed successfully
LSNRCTL>

1.таким образом статус выводит инфу про один и тот же листенер, я тока не знаю почему alias все равно LISTENER
2. приведенный в первом вопросе листинг - это полностью listener.ora
там больше ничего нету (никакого protocol=tcp там и в помине нету).
...
Рейтинг: 0 / 0
Вопрос про листнер
    #32188681
kengur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня к базе обращается перловый скрипт

Код: plaintext
1.
use DBI;
$dbh=DBI->connect( "DBI:Oracle:xxx" , "user" , "password" );


как только листенер гасишь, он не видит базу
в этом то вся и проблема.

я, конечно, читал, что если листенер не задан в listener.ora,
то по умолчанию запустится LISTENER с ipc и tcp на 1521 порту.
...
Рейтинг: 0 / 0
Вопрос про листнер
    #32188687
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Post LISTENER.ORA and client's TNSNAMES.ORA!!! .dba's suggestion not to start listener will not work in your case, since you are using connection tool (perl's DBI) that requires service name, which implies listener. "как только листенер гасишь, он не видит базу " - I think you do not completely understand how oracle connection works. Listener in very common and loose terms works, if you will, as a "сводница" :). There are two parties client and database who want to talk to each other but are not "formally introduced". Client knows LISTENER who knows DATABASE. So client communicates to listener "please introduce me to the database" and to do that client needs to have a TCP/IP port (if TCP/IP is used as a protocol) to talk to listener. Then listener says OK, I can arrange that and, by the way, here is a port (assuming TCP/IP is the protocol) for you both to talk with each other and from now on I AM NOT INVOLVED. To be a bit more specific listener creates a process on database server client talk to via the port dedicated by the listener and that process talks to the database on client's behalf. Also, I am describing a dedicated connection. In case of MTS is is a bit different, but general idea is still the same. As you can see, you need listener to "arrange" connection, unless client and database live on the same box - then they are "formally introduced" and client can talk to the database by setting ORACLE_SID. However, in your case perl's DBI talks only to listener, so you are forced to use it.

SY.
...
Рейтинг: 0 / 0
Вопрос про листнер
    #32188688
kengur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел повнимательнее скрипты, запускающие при рестарте Oracle (/etc/rc...), там было прописано создавать LISTENER и все что прописано в listener.ora
В итоге всегда создавалось 2 листенера.
Переименовал свой ххх в LISTENER, прописал ему только IPC, получил только IPC, 1521 закрылся.

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


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