Listener servisini kullanıp yönetmenin kolay bir aracı olan lsncrtl aracınının kullanımı ile ilgili temel düzeyde basit bir makale hazırladım. Umarım yararlı olmuştur.
Listener, database server’a erişmeye çalışan kullanıcıların taleplerine göre onları dinleyip, istenilen server modeline göre bir server process oluşturup ona göre işlem yapan, kullanıcı taraftaki tnsname.ora dosyasına göre erişimi sağlayan, gerektiğinde kullanıcıların bağlantılarını ret eden kullanıcıların veritabanına erişmelerini sağlayan bir kapıdır diyebiliriz.
Ve tek bir listener bir ve birden fazla database instance hizmet verebilir. Listener da sonuçta bir servis olduğundan kapatılıp açılabilir. Listener açık değilse veritabanı açık olsa bile erişim sağlanamaz. dolayısıyla database instance ‘den önce listener konfigrasyonunun yapılması gerekmektedir.
Listener control utility kullanarak hızlı ve pratik bir şekilde listener(dinleyicimiz) hakkında bilgi alır, açıp kapatabiliriz. Durumunu öğrenebiliriz.
Listener’ i durdurmak için;
lsnrctl>STOP [listener_name]
yada
lsnrctl>stop
Listener’ i başlatmak içinse;
lsnrctl>START [listener_name]
yada
lsnrctl>start
komutları verilir.
Listener_name dikkat ederseniz belirtmedik. Kullanımı Opsiyoneldir. Listener.ora içerisindeki tanımlanmış default listener adıdır.
Listener status:
Listener ‘in durumunu verir. Takma adının ne olduğu, versiyonu ne zamandır aktif olduğu, log dosyası , özet bilgileri gibi bilgileri özetler.
Instance ‘ da bu listener’in servis verdiği instance ‘ların durumunu da belirtir.
Status READY demek ; bu Instance’ dan gelen tüm connection’lar kabul edilebilir anlamını taşır.
Status SECONDARY demek ; Real application Cluster(RAC) sistemlerde ikinci Instance’ dan gelen connection’lar kabul edilebilir anlamını taşır.
Status BLOCKED demek; Instance ‘den gelen connection ‘lar kabul edilmeyecek anlamını taşır.
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 – Production
Start Date 04-MAR-2012 00:16:57
Uptime 8 days 21 hr. 6 min. 47 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /u01/app/oracle/diag/tnslsnr/mhm/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mhm.oracle.com)(PORT=1521)))
Services Summary…
Service “+ASM” has 1 instance(s).
Instance “+ASM”, status READY, has 1 handler(s) for this service…
Service “XDB.oracle.com” has 1 instance(s).
Instance “XDB”, status READY, has 1 handler(s) for this service…
Service “XDBXDB.oracle.com” has 1 instance(s).
Instance “XDB”, status READY, has 1 handler(s) for this service…
Service “catdb.oracle.com” has 1 instance(s).
Instance “catdb”, status READY, has 1 handler(s) for this service…
Service “catdbXDB.oracle.com” has 1 instance(s).
Instance “catdb”, status READY, has 1 handler(s) for this service…
The command completed successfully
SERVICES:
Listener’a register edilmiş instance’ ların detaylı bilgilerini öğrenebiliriz.
LSNRCTL> services
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Services Summary…
Service “+ASM” has 1 instance(s).
Instance “+ASM”, status READY, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:0 refused:0 state:ready
LOCAL SERVER
Service “XDB.oracle.com” has 1 instance(s).
Instance “XDB”, status READY, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:0 refused:0 state:ready
LOCAL SERVER
Service “XDBXDB.oracle.com” has 1 instance(s).
Instance “XDB”, status READY, has 1 handler(s) for this service…
Handler(s):
“D000″ established:0 refused:0 current:0 max:972 state:ready
DISPATCHER <machine: mhm.oracle.com, pid: 6184>
(ADDRESS=(PROTOCOL=tcp)(HOST=mhm.oracle.com)(PORT=14763))
Service “catdb.oracle.com” has 1 instance(s).
Instance “catdb”, status READY, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:0 refused:0 state:ready
LOCAL SERVER
Service “catdbXDB.oracle.com” has 1 instance(s).
Instance “catdb”, status READY, has 1 handler(s) for this service…
Handler(s):
“D000″ established:0 refused:0 current:0 max:972 state:ready
DISPATCHER <machine: mhm.oracle.com, pid: 5742>
(ADDRESS=(PROTOCOL=tcp)(HOST=mhm.oracle.com)(PORT=61753))
The command completed successfully
1. +ASM
2. Xdb.oracle.com
3. Catdb.oracle.com
Toplam 3 tane instance var.
D000 dispatcher no yu gösterir. Her instance dedicated server modelinde bağlanmış ve bir adet dispatcher mevcuttur. Ve bu 3 tane instance Dedicated server modeline göre çalışmaktadır. Dispatcher ve dedicated /shared server ile makalemiz http://muhammetucar.blogspot.com/2012/03/oracle-server-erisim-yontemleri.html ‘ den yararlı olacaktır.
Handle(işleyici) durumları:
Established: o anda bu instance bağlı olan kullanıcı sayısı
Refused: Reddedilen kullanıcı sayısı
Max: Bağlanacak maksimum kullanıcı sayısı
Current: Şu anda işlem gören kullanıcı sayısı
State: işleyicinin durumuna göre ready /blocked olur.
Farklı bir makale ile görüşmek üzere…