ORA-12516 – TNS:listener could not find available handler with matching protocol stack

1.) TEXTE AUS OERR UNTER LINUX

12516, 00000, „TNS:listener could not find available handler with matching protocol stack“

// *Cause: None of the known and available service handlers for the given

// SERVICE_NAME support the client’s protocol stack: transport, session,

// and presentation protocols.

// *Action: Check to make sure that the service handlers (e.g. dispatchers)

// for the given SERVICE_NAME are registered with the listener, are accepting

// connections, and that they are properly configured to support the desired

// protocols.

2.) ERKLÄRUNG

Ursache kann eine sehr hohe Anzahl an Anfragen durch die Clients sein.

3.) LÖSUNGSVORSCHLÄGE

1. Test mit tnsping

Funktioniert tnsping, so ist mit die Datei tnsnames.ora in Ordnung. Das Problem ist dann auf dem Server zu suchen.

2. Abfrage Status Listener

Bei hoher Last blockiert der Listener. Dies wird ersichtlich durch die Abfrage des Listeners

lsnrctl status <listener-name>

Weitere Infos -> Oracle-Metalink (Doc ID 240710.1)

3. Anzahl möglicher Prozesse und Sessions erhöhen:

show parameter processes

show parameter sessions

/* Single Instance */

select count(*) from v$process;

select count(*) from v$session;

select * from gv$resource_limit where resource_name in (‚processes‘,’sessions‘);

/* RAC */

select count(*) from gv$process;

select count(*) from gv$session;

/* Erhöhung der Parameter */

alter system set processes = <nnn> scope = spfile;

alter system set sessions = <nnn> scope = spfile;

/* Restart der Instanz */

shutdown immediate

startup

4. Registrierung der Instanz

Zusätzlich zu der automatischen Registrierung der Instanz die statische Registrierung in der Datei listener.ora vornehmen. Dies geschieht mit dem Eintrag unter dem Parameter SID_LIST