mercredi 27 février 2013

ORA-27300: OS system dependent operation:semget failed with status: 28

Dans un environnement Oracle LInux 5.5, en voulant démarrer une instance ou une base de données, je reçois le message suivant:

[oracle@svrhost1 ~]$ srvctl start instance -d exem -i exem1
PRCR-1013 : Failed to start resource ora.exem.db
PRCR-1064 : Failed to start resource ora.exem.db on node svrhost1
CRS-5017: The resource action "ora.exem.db start" encountered the following error:
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates
. For details refer to "(:CLSN00107:)" in "/ora01/logi/crs/crs_11g/log/svrhost1/agent/crsd/oraagent_oracle/oraagent_oracle.log".

CRS-2674: Start of 'ora.exem.db' on 'svrhost1' failed
[oracle@svrhost1 ~]$

Le document suivant explique quoi faire:

Database Startup Fails with ORA-27300: OS system dependent operation:semget failed with status: 28 [ID 949468.1]

En fait il s'agit de la configuration des sémaphores.

[root@svrhost1 etc]# ipcs -s | grep ^0 | cat -n
     1  0x224685fe 0          root      0          2
     2  0x00000000 360449     hpsmh     600        1
     3  0x00000000 65538      hpsmh     600        1
     4  0x00000000 98307      hpsmh     600        1
…......
   136  0x8c711c30 1497596039 oracle    640        156
   137  0x8c711c31 1497628808 oracle    640        156
   138  0x8c711c32 1497661577 oracle    640        156
   139  0x8c711c33 1497694346 oracle    640        156
   140  0x8c711c34 1497727115 oracle    640        156

[root@svrhost1 etc]# sysctl -a  |grep sem
kernel.sem = 250        32000   100     142
#kernel.sem = SEMMSL SEMMNS SEMOPM  SEMMNI

La commande suivante montre que ces paramètres ont été modifiés par le package Oracle-Validated

[root@svrhost1 etc]# grep sem sysctl.conf
# Oracle-Validated setting for kernel.sem is '250 32000 100 142'
kernel.sem = 250 32000 100 142

[root@svrhost1 etc]# rpm -qa | grep oracle-va
oracle-validated-1.0.0-22.el5

La valeur du paramètre peut être modifiée avec la commande:

[root@svrhost1 etc]# echo "250 64000 100 250" > /proc/sys/kernel/sem
[root@svrhost1 etc]# sysctl -a | grep sem
kernel.sem = 250        64000   100     250 

Hope it helps


Aucun commentaire:

Enregistrer un commentaire