Tradueix

miércoles, 21 de enero de 2009

ORA-12500

Las conexiones se estan multiplicando y el uso en general de la bbdd ha empezado a crecer. Empiezan a atacar la bbdd por todas partes. En algunos intentos de conexión ha aparecido el fastidioso error:
ORA-12500: TNS:listener failed to start a dedicated server process
En el sistema los procesos de oracle (ps -A) eran numerosos. Lo curioso és que al principio las conexiones desde SQLDeveloper funcionaban, en cambio las de un cliente desarrollado en NetBeans no. Desconozco la razón de esta discriminación.
Rastreando por internet he llegado a la web donde escribe este señor al que apodaré Boris Yelsin (que por cierto, se merece el cielo y mucho mas) y he comprobado el parámetro de procesos. Según el init.ora o segun el TOAD o segun el comando "show parameter process" tenia 150 procesos como máximo.
Despues he comprobado en el fichero /opt/u01/app/oracle/admin//bdump/alert_.log
para ver si hay algún error mas y he encontrado este:
kkjcre1p: unable to spawn jobq slave process
Buscando en internet al respecto como siempre llegamos al mismo sitio (Boris Yelsin otra vez): http://www.dba-oracle.com/t_kkjcre1p_unable_to_spawn.htm
Efectivamente parece que la máquina no tiene suficientes recursos. La cuestión és si el problema es de la RAM o bien de la limitación del parámetro de Oracle para generar mas procesos para cada nueva conexión. Según parece hay tres posibilidades:
  1. El parámetro process es demasiado pequeño
  2. La RAM de la máquina es demasiado limitada
  3. El job_queue_processes es 0
Creo que de la RAM no es problema así que aumentaré el valor del parámetro. Para ello:
  1. entrar en: sqlplus /nolog
  2. connect sys as sysdba;
  3. ALTER SYSTEM SET processes=500 SCOPE=SPFILE;
    (el valor inicial era 150. Scope=spfile hace que el cambio afecte al spfile, con lo que al arrancar la bbdd de nuevo tendria que canviarse. Ojo, NO afecta al pfile, o sea, al init.ora, con lo que si queremos cambiarlo en el init.ora hay que hacerlo en el fichero y convertir el init.ora en un spfile. Otro rato veremos como hacer esta operación)
  4. shutdown immediate (hay que bajar la bbdd para que tenga efecto el cambio)
  5. startup
  6. show parameter process; --para comprobar que realmente ha cambiado.
La lucha sigue!!!

Seja o primeiro a comentar

Publicar un comentario

Oracle Wars © 2008. Template by Dicas Blogger.

TOPO