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.
Łukasz Goszczyński goszczu.pl