lunes, 27 de febrero de 2012

Verificando el numero máximo de sesiones

Si quieres saber si tu instancia de Oracle puede soportar cierta cantidad de usuarios concurrentes, entonces tienes que verificar los parámetros sessions y processes:

SQL> set linesize 150
SQL> select count(*) from v$session;

COUNT(*)
----------
87

SQL> column name format a30
SQL> column value format a30
SQL> select name, value from v$parameter where NAME in ('sessions','processes');

NAME VALUE
------------------------------ ------------------------------
processes 600
sessions 665

El parámetro sessions es derivado por default del parámetro processes, pero podría ser mejor revisar y configurar ambos parámetros processes y sessions. Si configuraste servidores compartidos para tu instancia, puedes tener muchas sesiones con pocos procesos.

Pero cuántos procesos puedes tener depende de los parámetros de sistema operativo, por lo tanto sería bueno revisar esos parámetros:

myserver> lsattr -El sys0 -a maxuproc
maxuproc 2048 Maximum number of PROCESSES allowed per user True
myserver> id oracle
uid=214(oracle) gid=203(dba) groups=1(staff)
myserver> ps axl | grep " 214" | wc -l
409
myserver> ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 32768
memory(kbytes) 32768
coredump(blocks) 5097151
nofiles(descriptors) unlimited

Para este ejemplo revisamos el numero máximo de procesos por usuario en AIX, cuántos procesos estaban corriendo en ese momento, y sólo para estar seguros los límites del usuario oracle. Si tienes más de una instancia por usuario, entonces tienes que tener en cuenta los parámetros máximos de sesiones de todas las demás instancias para estar seguro de que los límites del sistema operativo no afectarán tus instancias.

Más información:

SESSIONS
PROCESSES
HPUX: Kernel Tunable parameters
Getting AIX basic system info

No hay comentarios.:

Publicar un comentario