Parametro Processes

bmgdba
27 de Octubre del 2004
hola a todos, cuando yo configuro el parametro processes en el init.ora por ejemplo a 1000 esto significa que aparte de aceptar 1000 procesos, Oracle destina recurso para la eventualidad que esos 1000 procesos se ejecuten o no? o solamente cuando un proceso se conecta le asigna memoria

Manny
27 de Octubre del 2004
Hi,
Seguramente vienen aceptado di oracle pero recuerda
que esto permitira incrementar la cantidad de session contra el database, evidentemente hay usado la formula: (1.1 * processes )+5 = num di session, si no recuerdo, cuando hay Sistemas Operatvios UNIX (ej. Sun Solaris) , tiene que darle un ojo al "kernel" , ya que esto permitira gestionar un numero max de procesos:

En pocas palabras vedia allegato.

To understand the behaviour, we need to keep in mind two things:

1. Each semaphore set has an overhead of 4 semaphores associated with it. So, if there are 100 semaphores in a semphore set, only 96 semaphores can be used by the users/processes.

2. For a given Oracle instance, all the semaphore sets associated with it needs to be of equal size. Also keep in mind that there is no standard system call that allow us to query the value of SEMMSL so we could optimize the semaphore allocation.

Taking the example mentioned in the previous section,
semmsl - 200
process - 250

Step 1: -- Request for a semaphore set that satisfies the required number of semaphores. -- Oracle will first try to obtain one semaphore set of 254 (250 + 4) semaphores (since the init.ora process parameter is 250 and 4 semaphores are overhead for each set). -- Since the maximum number of semaphores per set is limited to 200, this step 1 will fail.

Step 2: -- Determine the number of semaphores per set. -- Oracle will then try to obtain semaphore sets by requesting for semaphore sets that contains n/2 (rounded down) semaphores per set. (Where n is the required number of semaphores, 254 in this case). -- This process is repeated until the requested number of semaphores per set is below the maximum number of semaphore (semmsl). In this example, Oracle will request semaphore sets of 254/2 = 127 semaphores each one

Step 3:
-- Determine the number of semaphore sets.
-- Once the number of semaphores per semaphore set is fixed, then oracle calculates the number of such semaphore sets required to satisfy the initial number of semaphores (250 in this case)

In this example, No of semaphores/set = 127 (From step 2) Requested semaphores = 250 If two semaphore sets are requested , then total semaphores available would be 127*2 = 254. But, since there are two semaphore sets now, the total no of semaphores required is 258 (250 + 4 + 4).

So, Oracle would go for 3 semaphore sets of 127 semaphores each.


Espero haberte ayudado.
Manny

NOTA:

Hay otros tipo de gestionar las cantidas de procesos contra las session llamada MTS.
Multi-Threaded Server, es bastante interesante...

bye.