Oracle Listener’i Yapılandırmak ve Yönetmek

Listener, oracle veritabanında çalışan ayrı bir işlemdir. Yaptığı iş, sunucuya gelen istemcilerin bağlantı isteklerini önceden belirlenen port veya portlardan alıp veritabanı sunucusuna yöneltir. Bu yazıda listener oluşturmayı ve yapılandırmayı anlatacağım.


Listener yapılandırma ayarları “$ORACLE_HOME/network/admin” dizinde bulunan “listener.ora” dosyasında saklanır ve içeriği aşağıdaki gibidir.

MY_LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle12c.mydomain)(PORT = 1521))
    )
  )

Yukarıda MY_LISTENER yazan, listenerin adıdır. Listenerle ilgili işlemler bu ad kullanılarak yapılır. Örneğin listeneri başlatmak için linux komut satırında aşağıdaki komutun çalıştırılması gerekir.

$ lsnrctl start my_listener

Adres kısmı gelen isteklerin tcp olacağını belirtir. Host kısmı veritabanı sunucusunu belirtir. Bu örnekte yazılmış olan oracle12c.mydomain adresi “/etc/hosts” dosyasında belirli bir ip adresini gösterdiği için yazılmıştır. Bu adres yerine direk ip adresi de yazılabilirdi. Port ise listenerin gelen bağlantıları dinlediği port numarasıdır.
Yeni bir listener eklemek için listener.ora dosyasına yeni bağlantı bilgiler eklendikten sonra listener yeniden başlatılarak değişiklikler aktif edilebilir. Görsel olarak listener oluşturmak için veritabanı sunucusu kurulduğunda otomatik olarak yüklenen netmgr (Network Manager)  uygulaması ile yeni listener eklemek veya varolan listenerleri görmek mümkündür. Başlatmak için linux komut satırından “netmgr” komutu çalıştırılır. netmgr uygulamasının ekran görüntüsü aşağıdaki gibidir.

Değişiklikler yapıldıktan sonra File -> Save Network Configuration ‘dan değişiklikler kaydedilmelidir.
Konfigurasyon için kullanılan bir diğer araç ise “Oracle Net Configuration Assistant” tır. Başlatmak için komut satırından “netca” komutu çalıştırılmalıdır. Ekran çıktısı aşağıdaki gibidir.

Sunucuda çalışan listenerin durumunu “lsnrctl status listener” komutu ile görebiliriz. Ekran çıktısı aşağıdaki gibidır.

Örnekte sonuç olarak “no listener” cevabı dönmesinin nedeni listenerin henüz başlatılmamış olmasından kaynaklanmaktadır. Listeneri başlatmak için “lsnrctl start listener” komutu kullanılmalıdır. Listener başlatıldıktan sonra durumu görüntülendiğinde çıktı aşağıdaki gibi olacaktır.

Çalışan bir listeneri durdurmak için “lsnrctl stop listener” komutu kullanılır.
Listenerle ilgili işlemlerin başına lsnrctl konularak yapıldığı gibi, terminalden sadece “lsnrctl” komutu çalıştırılarak listener control’e bağlanıp ilgili işlemler yapılabilir.

One thought on “Oracle Listener’i Yapılandırmak ve Yönetmek”

Leave a Reply

Your email address will not be published. Required fields are marked *