Zarejestruj się na BitBay.net
Home > Oracle > Oracle Listener

Oracle Listener

oracle Oracle Listener jest komponentem odpowiedzialnym za komunikację pomiędzy serwerem baz danych a klientami. Nasłuchuje standardowo na porcie TCP 1521. Proces użytkownika komunikuje się z listenerem, który uruchamia proces serwera (jeżeli TCP to OS przydziela mu wolny port przez algorytm mapowania portów) następnie adres portu zostaje przesłany do procesu użytkownika . Dalsza komunikacja przebiega już tym portem pomiędzy procesem użytkownika a odpowiadającym mu procesem serwera. Listener jest potrzebny tylko do ustanowienia połączenia.

Podstawowe polecenia:

lsnrctl status
lsnrctl reload
lsnrctl stop
lsnrctl start

lub:
Wchodzimy do powłoki listenera:

lsnrctl

i teraz będą w powłoce wydajemy polecenia:

start,stop,status,reload

 

Binaria:

$ORACLE_HOME/bin/lsnrctl
Np.: /u01/app/oracle/product/11.1.0/db_1/bin/lsnrctl

Logi:

$ORACLE_HOME/network/log/sqlnet.log
Np.: /u01/app/oracle/product/11.1.0/db_1/network/log/sqlnet.log
$ORACLE_BASE/oracle/diag/tnslsnr/nazwa_hosta/nazwa_listenera/trace/nazwa_listenera.log
Np.: /u01/app/oracle/diag/tnslsnr/oracled/listener/trace/listener.log

 

Konfiguracja:

Lokalizacja:

$ORACLE_HOME/network/admin/

Pliki:

LISTENER.ORA - Konfiguracja procesu nasłuchu do bazy
TNSNAMES.ORA - Konfiguracja stacji klienckiej
SQLNET.ORA - Pozostałe opcje konfiguracyjne.

 

Parametry konfiguracyjne:

NAMES.DEFAULT_DOMAIN = nazwa_twojej_domeny

Jeżeli ustawisz domyślną domenę (np. costam.com.pl), to wówczas ta domena będzie dołączana automatycznie do każdej, która nie została jawnie wpisana ( np. @magazyn zostanie zinterpretowany jako @magazyn.costam.com.pl ).

LOG_DIRECTORY_CLIENT = /oracle/network/plik_log

Katalog, do którego zostaną zapisane pliki log klienta
Jeżeli zauważysz, że pliki SQLNET.LOG zaśmiecają Ci dysk, pojawiając się w różnych katalogach, to oznacza,że nie ustawiłeś jednego konkretnego katalogu, a wartością domyślną tego parametru jest bieżący katalog.

LOG_DIRECTORY_SERVER = /oracle/network/plik_log

Katalog, do którego zapisywane są pliki log serwera.

SQLNET.AUTHENTICATION_SERVICES = NONE

Usługi identyfikacji hasłem (beq, none, all, NTS, kerberos5, cybersafe, radius).

TRACE_LEVEL_SERVER = OFF

Poziom, na którym ma być śledzony proces serwera (OFF,USER,ADMIN,SUPPORT, 0-16).

TRACE_DIRECTORY_SERVER = /oracle/network/trace

Katalog, do którego trafią pliki śladu z serwera.

TRACE_LEVEL_CLIENT = OFF

Poziom, na którym ma być śledzony w pliku log proces klienta (OFF,USER,ADMIN,SUPPORT, 0-16)
Wartość domyslna: OFF (0).

TRACE_DIRECTORY_CLIENT = /oracle/network/trace

Katalog, do którego trafią pliki śladu klienta.

TNSPING.TRACE_LEVEL = OFF

Poziom, na którym ma być śledzony proces nasłuchu (OFF,USER,ADMIN,SUPPORT, 0-16).

SQLNET.EXPIRE_TIME = 10

Weryfikacja sesji klienta, czy jest aktywna co x minut.

SQLNET.CONNECT_TIMEOUT = 5

Maksymalny czas (w sekundach) oczekiwania na utworzenie połączenia pomiędzy klientem a serwerem. Opcja ta może być użyta,aby ograniczyć efekt ataku typu Do S (Denial of Service) lub Brute Force Dictionary ( wartość zero oznacza wyłączony).

 

Instalacja / deinstalacja:

Za pomocą polecenia:

netca

Jeśli za pomocą netca nie możemy skasować listenera, musimy zrobić to ręcznie. W windowsie usuwamy usługę OracleOraDb11g_home1TNSListener np. poprzez skasowanie kluczy w rejestrze:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraDb11g_home1TNSListener]

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\OracleOraDb11g_home1TNSListener]

Następnie restart windowsa i ponowna instalacja listenera za pomocą netca

 

Włączanie / wyłączanie logowania:

lsnrctl
set Log_status on

lub

lsnrctl
set Log_status off

 

Sprawdzanie czy port listenera 1521 nie jest przez coś zajęty:

Linux: netstat -tpnl |grep 1521
Windows: netstat -abn|more

 

Błędy:

Objawy:

W logu sqlnet.log komunikat:

ns main err code: 12547
TNS-12547: TNS:stracony kontakt
ns secondary err code: 12560
a podczas sprawdzania statusu (lsnrctl status) następowało zawieszenie i brak odpowiedzi.

Rozwiązanie:

Należy sprawdzić czy przypadkiem plik z logami:

$ORACLE_BASE/diag/tnslsnr/nazwa_hosta/nazwa_listenera/trace/nazwa_listenera.log

(np. w windowsie: C:\app\Administrator\diag\tnslsnr\ORACLE1\listener\trace\listener.log) nie jest większa niż:

Systemy 32bitowe: 2GB
Systemy 64bitowe: 4GB
jeśli tak to skasować plik lub zmienić jego nazwę na inną i zrestartować listenera.

W sieci: http://blog.5it.pl/

Kategorie:Oracle Tagi:, ,
  1. Brak komentarzy
  1. Brak jeszcze trackbacków
*