ORA-12520: TNS:listener could not find available handler for requested type of server


1.listener problem
when I try to connect rac from the client using sqlplus / @tnsname as sysdba, I got this error
*ORA-12520: TNS:listener could not find available handler for requested type of server*
it was caused by configuration of listener and tnsnames.

*refer:Subject: Ora-12520 When listeners on VIP in 10g RAC Setup Doc ID: Note:342419.1*
//following the notes, it seems that you need to set local_listener in each node in spfiles(other dba agree with me)
//set the parameter on node rac1 in local_listener and you need to config them on each nodes
//remote_listener control the function of load balance,
//local_listener helps a lot in TAF
SQL> show parameter listener;

NAME TYPE VALUE
———————————— ———– ——————————
local_listener string LISTENER_RAC2
remote_listener string LISTENERS_RAC

//section of tnsnames.ora on server side
RAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.149)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.150)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
)
)

LISTENERS_RAC =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.149)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.150)(PORT = 1521))
)

LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.localdomain)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.128)(PORT = 1521)(IP = FIRST))
)
)

LISTENER_RAC2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip.localdomain)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.129)(PORT = 1521)(IP = FIRST))
)
)

RAC2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.150)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac2)
)
)

RAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.149)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac1)
)
)

//listener.ora on server side
LISTENER_RAC2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip.localdomain)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.129)(PORT = 1521)(IP = FIRST))
)
)

LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.localdomain)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.128)(PORT = 1521)(IP = FIRST))
)
)