parametr $processes i $sessions - problem z otwarciem nowej sesji

Kiedy zachodzi potrzeba zmiany parametru $sessions?

Jeżeli liczba otwartych procesów ORACLE jest bliska maksymalnej - należy zwiększyć wartość parametru $processes. Jeżeli liczba procesów jest mniejsza od maksymalnej, a mimo to występuje problem z połączeniem, należy sprawdzić parametr $sessions. Robimy to następująco:

 SQL>select count(*) from v$sessions;

COUNT(*)
--------
230

Jeżeli u Ciebie parametr ma wartość równą albo bliską liczbie otwartych sesji to trzeba go zmienić. W przeciwnym wypadku musimy zainteresować się parametrem $processes.

Kiedy zachodzi potrzeba zmiany parametru $processes?

Najpierw wykonujemy selecta:

 SQL>select count(*) from v$process;

COUNT(*)
--------
230

Mamy więc 230 procesów. Trzeba jeszcze sprawdzić wartość parametru systemowego $processes. Robimy to tak:

 SQL>show parameter processes

...
$processes   300

Jak zmienić wartość parametru $processes?

Aby zmienić wartość parametru musimy stworzyć plik PFILE i zmodyfikować w nim odpowiedni wpis. Jeżeli na koniec baza nie będzie chciała wystartować należy spróbować jeszcze raz. Jeżeli znów się nie udało należy zmienić wartość SEMMSL:

>ipcs -l
max semaphores per array = 250 : $SEMMSL -oznacza maksymalną liczbę
                                          semaforów na jeden identyfikator.

Trzeba to zmienić na powiedzmy 500. W tym celu najprościej wyedytować plik: /proc/sys/kernel/sem. Po edycji pliku nie trzeba restartować serwera. Po zmianie wartości parametru $SEMMSL należy ponownie restartować bazę ORACLE.