Thursday, July 31, 2008

Temel Listener konfigürasyonu ve Load Balance

Keywords : Oracle 9i, 10 g Listener tnsnames.ora network
Metalink döküman Noları : 557946.1 260986.1 69546.1 76636.1 235562.1

Standart listener.ora dosyasında listener'ın kullanacağı portlar ve databaseler tanımlanır.
Listener açıldığında bu tanımları kullanarak ; tanımları yapılan databaselere girilen portlardan erişim sağlamak
için hizmete başlar.

Listener kullanmanın diğer bir yöntemide listener.ora dosyasına hiç bir şey yazmamaktır.
Database açıldığında init.ora ve tnsnames.ora dosyalarını kullanarak kendisini listener'a register eder.
buna local listener kullanımı diyoruz.

Oracle 10g'de 1521 nolu porttan listener tanımlamak için listener.ora doyasını gerek yoktur.
Default olarak 1521 portun'dan bir listener açılır ve Database bu listener'a kendini register eder.
Başka bir porttan database listener tanımlamak istiyorsanız

$TNS_ADMIN/listener.ora dosyası kullanılır


STANDART LISTENER KULLANIMI

Eğer Local_listener kullanılmıyacaksa Listener'ı kullanacak database adları aşağıdaki gibi
girilmelidir.

:IP , :Portnumber , :SID , :ORACLE_HOME) değerleri girilmelidir.

LISTENERADI=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = :IP )(PORT = :PortNumber))
)
)

SID_LIST_LISTENERADI =
(SID_LIST =
(SID_DESC =
(SID_NAME = :SID)
)
)

veya


SID_LIST_LISTENERADI =
(SID_LIST =
(SID_DESC =
(SID_NAME = :SID)
(ORACLE_HOME = :ORACLEHOME)
)
)



Bu listener aşağıdaki komut ile açılır

lsnrctl start LISTENERADI


bu database'in iki ayrı Porttan Load balance erişilebilmesi isterseniz diğer bir listener daha tanımlıyabilirsiniz.
Buradaki listener adı ve portu farklı olmalıdır.


Örnek

LISTENERA =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SAMPLE.COM)(PORT = 2001))
)
)

SID_LIST_LISTENERA =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
)
)

LISTENERB =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SAMPLE.COM)(PORT = 2002))
)
)

SID_LIST_LISTENERB =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
)
)


Aşağıdaki gibi listenerlar açılır.

lsnrctl start LISTENERA
lsnrctl start LISTENERA


Bu database load balance ile erişim için ise aşağıdaki tanım clientlardaki tnsnames.ora'ya yazılır.

LOADBALANCE =
(DESCRIPTION =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = SAMPLE.COM)(PORT = 2001))
(ADDRESS = (PROTOCOL = TCP)(HOST = SAMPLE.COM)(PORT = 2002))
(CONNECT_DATA =
(SID = ORCL)
)
)

No comments: