Comunidad Oracle Hispana

Hola a todos:

Hace unos días instale un Oracle 11g R2 en una maquina windows 2008 64 bits con 16Gb de Ram, y todo perfecto.

A las 2 h de tenerla funcionando y con sesiones me salta el error:

ORA-00020: maximum number of processes (%s) exceeded

Por lo que aumento el número de procesos de la máquina al doble de lo que antes tenia 150 -> 300

SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
processes integer 150

SQL> alter system set processes=300 scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

SQL> show parameter processes

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
processes integer 300


Cual es mi sorpresa que ayer me vuelve a dar el mismo error.

Es normal, y tengo que seguir aumentando el numero de procesos o hay alguna solucion para este error?


gracias

Visitas: 2661

Responde a esto

Respuestas a esta discusión

Hola,

No se si hay que aumentarlo mas, pero tengo entendido que debes adicionar en el init.ora o en el archivo de inicialización de parámetros de la base de datos esta variable con este nuevo valor, para que cada vez que bajes y subas la bd te tome los valores de las variables del archivo.

 

Feliz tarde

gracias por responder, pero con el comando

SQL> alter system set processes=300 scope=spfile;

se añade en el spfile y cada vez que arranca se toma en cuenta.

Si para el proceso ServiceOracleORCL y lo vuelvo a levantar los procesos desaparecen y puedo seguir normal, pero no es cuestión de hacer eso cada vez que ocurra.

Hola a todos, a mi me paso algo similar y lo solucione de la siguiente manera, hay que alterar 3 parametros para que tenga congruencia el cambio del parametro PROCESS y se calcula de la siguiente manera:

 

PROCESS = X

SESSION = X * 1.1 + 5

TRANSACTIONS= SESSION * 1.1

 

Ahora bien si calculas o cambias el parametro process a 300 tendrias que realizar los siguientes alter al sistema.

 

alter system set processes=300 scope=spfile;

alter system set sessions=335 scope=spfile;

alter system set transactions=369 scope=spfile;

 

Si quieres realiza el cambio para ver como te va y nos cuentas el resultado para apoyarte en el tema.

Ok gracias, lo tendré en cuenta y lo probaré. :)
y me pregunto, ¿como es posible esto si solo tengo un usuario conectado y funcionando?
por el sistema operativo?
por el cliente usado (plsql developer)?

????

Juan:

   Si estas usando el PLSQL Developer en el tab de reportes tenes en la sección de administración unos reportes que te dicen las conexiones abiertas a la BD, las activas, las inactivas, por usuario, por host, etc. etc.

   En ellas podes encontrar que usuarios están conectados, desde que maquina lo están, cual es el comando SQL que están ejecutando y muchas cosas mas. Con eso tenes una buena pista de que es lo que te esta generando tantos procesos.

   Slds. Marcelo.

Hola a todos:

Pues parece que funciona la solución que me proporcionó Ivan Dario Acosta, he cambiado los parámetros con 500 procesos y sus respectivos valores para SESSION y TRANSACTIONS y desde hace unos días no ha vuelto a ocurrir.

Muchas gracias.

Mas o menos el numero de procesos es de usuarios mas un overhead de unos 50 (por si acaso).

select count(*) from V$session;

Mira cuantos te salen, si dices que tienes un solo usuario es mus raro, mira de donde se conectan y para qué, en la misma vista las columnas program y module.

Si tienes una 10 u 11 en las metricas puedes consultar la de max processes y analizar el porque.

Si subes el número de procesos tambien correlativamente tienes que tener una instancia más grande, si los subes muchísimo y la SGA no es suficientemente grande no abre, así que es mejor moverse en un rango razonable.

Slds

FJA

Responder a debate

RSS

© 2014   Creado por Fernando Garcia.

Insignias  |  Informar un problema  |  Términos de servicio