Monday, May 4, 2015

RDBMS -- PMON default listener registration , dynamic listener registration

If there is a listener running on port 1521, by default Pmon registers the database service with that listener..

This is the default behaviour of pmon..

In 11g , we can disable this behaviour though. There are 4 ways to disable this behaviour in 11g.

1) For versions >=11g: disable the automatic listener registration on the listener side use DYNAMIC_REGISTRATION_listener_name=off , in listener.ora -- DYNAMIC_REGISTRATION_LISTENER = off

2) disable the automatic registration from database side -- set EVENT= "10258 trace name context forever, level 4" on the database side

3) Do not use the default port (1521) for any listener

4) use the init.ora "local_listener" parameter to define the second database listener, LISTENER2, as the "default listener".


the 3rd and 4th options are familiar but what about the 1st and 2nd.. Okay.. Lets take a look at the automatic listener registration ...

Automatic listener registration is on by default. In 11g it is controlled by dynamic_registration_listener parameter..

With dynamic registration enabled(it is on/enabled by default), our database can register itself to the listener, without specifying SID_LIST_listener_name parameter in listener.ora ..  As mentioned above, pmon by default register the database with the listener on default port(1521) dynamically/automatically..
In adddition to that; if we use local_listener parameter in our database parameter file , pmon can register the database with the desired listener listening on non-default port dynamically, too..

When "DYNAMIC_REGISTRATION_listener_name" is set to "off", the listener refuses dynamic registration, so we need to specify the services which we want to register our listener with..
Like the following;

#listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ERMAN)
(ORACLE_HOME = /erman/dbhome_1)
(SID_NAME = ERMAN)
)
(SID_DESC =
(GLOBAL_DBNAME = ERBANT)
(ORACLE_HOME = /erman/dbhome_1)
(SID_NAME = hyd)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ermanhost)(PORT = 1521))
)
Lastly;
EVENT= "10258" controls this behaviour from the database size, when it is set, the database does not register itself with the listener dynamically..

No comments :

Post a Comment