1.We can run more than one databases on same server each having different listeners (port should be different). not possible to execute more than one listener on same port on same server.
We can have this by fixing one parameter in Initialization file.
If the database is working on different port No.say 1527 there would be a listener running on that port but be sure listener should be of higher version or same version of the database anyhow it should not be of lower version than database.
We can't run 11g database on 10g listener as well as version of 11.2.0.1 listener can't be used for 11.2.0.2+ database same as this case is in 10g.
Open the SQL prompt and execute this command by providing IPaddress or hostname in HOST, Port no in PORT. and database name in SID.
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=<Hostname or Ip address>)(PORT=<port NO.>))' sid='<database name>'
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=XX.XX.XX.XX)(PORT=1527))' sid='TEST4’;
2.We can have more than two databases running on same server with only one listener (here Port should be same).
Configure a listener of available higher version through netca, It can be available from command prompt as well as from SQLprompt.
From command prompt go to oracle home and type netca, here we will have a Oracle net configuration assistant. Configure the listener and don't query the listener around 2 minutes to register with the available sids.
C:\app\admin\product\11.2.0\dbhome_1>netca
C:\app\admin\product\11.2.0\dbhome_1>netca
From SQL prompt type Host Netca.
SQL> host netca
Unfortunately any sid fail to register with the listener execute the following command from their sql prompt.
SQL> alter system register;