2012-11-29 8 views
6

Sto utilizzando il database ORACLE in un ambiente Windows ed eseguo un'applicazione web JSP/servlet in tomcat. Dopo aver fatto alcune operazioni con l'applicazione mi dà il seguente errore.ORA-12518, TNS: il listener non è in grado di trasferire la connessione client

ORA-12518, TNS: l'ascoltatore non poteva passare fuori connessione client

uno può aiutare a individuare il motivo di questo problema e mi ha proporre una soluzione?

+1

http://www.dba-oracle.com/sf_ora_12518_tns_listener_could_not_hand_off_client_connection.htm – JiKra

risposta

0

Se da un giorno all'altro il problema si presenta senza apparenti motivi, aggiungere queste righe seguenti nella parte inferiore del file listner.ora. Se la variabile di ambiente ORACLE_HOME è impostata in questo modo:

(ORACLE_HOME = C: \ oracle11 \ app \ oracle \ product \ 11.2.0 \ server)

Le linee da aggiungere sono:

ADR_BASE_LISTENER =C: \ oracle11 \ app \ oracle \

DIRECT_HANDOFF_TTC_LISTENER = OFF 012.

2

La soluzione a questo problema è quello di aumentare il numero di processi:

  1. Aprire Prompt dei comandi
  2. sqlplus/as sysdba
  3. startup force;
  4. show parameter processes; - Questo dimostra 150 processi assegnati, i aumenterà il conteggio a 800 ora
  5. alter system set processes=800 scope=spfile;

Provato e testato.

2

Ho incontrato lo stesso problema, nel mio caso si trattava di una nuova installazione del client Oracle su un nuovo desktop che stava dando l'errore, altri client stavano lavorando quindi sapevo che non sarebbe stata una correzione per il database configurazione. tnsping ha funzionato correttamente ma sqlplus non è riuscito con l'errore listener ora-12518.

Ho avuto la voce tnsnames.ora con un SID invece di un nome_servizio, quindi una volta risolto, sempre lo stesso errore e ho trovato anche il nome_servizio errato. Una volta risolto, l'errore è andato via.

+0

E assicurarsi che l'ascoltatore ha iniziato :) interrogazione Felice –

0

So che questa è una domanda vecchia ma ho avuto lo stesso problema durante l'esecuzione di query nella mia applicazione. Sto usando client Oracle con Ruby on Rails.

Il problema si è presentato quando ho accidentalmente avviato diverse connessioni con il DB e non le ho chiuse.

Quando ho risolto questo problema, tutto ha funzionato di nuovo bene.

Spero che questo aiuti un altro con lo stesso problema.

1

Nel mio caso ho scoperto che è perché non ho chiuso correttamente le connessioni del database nella mia applicazione. Troppe connessioni sono aperte e Oracle non può stabilire più connessioni. Questa è una limitazione di risorse. Più tardi, quando controllo con il forum di Oracle, ho potuto vedere alcuni motivi che hanno menzionato in merito a questo problema. Alcuni di loro sono.

  1. Nella maggior parte dei casi ciò si verifica a causa di un problema di rete.
  2. Probabilmente il server sta esaurendo la memoria e ha bisogno di scambiare la memoria sul disco. Una causa può essere un processo Oracle che consuma troppa memoria.

se è il secondo, verificare big_pool_size o verificare che dispatcher fosse sufficiente per tutte le connessioni.

È possibile consultare il collegamento sotto per ulteriori dettagli. https://community.oracle.com/message/1874842#1874842

0

Evan Ho ricevuto lo stesso errore dopo l'aggiornamento a Windows 10. L'ho risolto avviando i servizi per Oracle che vengono interrotti.

avviare tutti i servizi, come mostrato nell'immagine qui sotto

enter image description here

Problemi correlati