IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

erreur ORA-27102 "out of memory"


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut erreur ORA-27102 "out of memory"
    Bonjour à tous,

    je travaille en ce moment sur Oracle 9i (sur un serveur linux).

    Malheureusement je suis totalement débutant sur linux et je galère un peu (voire même plutot "beaucoup")

    Le serveur sur lequel je travaille donc a été redémarré et depuis, je n'arrive pas à redémarrer la base.

    Voila ce que j'ai fait :

    J'ai vérifié mes variables oracle_home et oracle_sid, elles sont OK.
    J'ai pu me connecté à sqlplus comme "sys /as sysdba"

    Mais quand je fais un startup, j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORA-27102 : out of memory
    Linux error : 22 : Invalid argument
    Que dois je vérifier ? Qu'est-ce qui peut bien poser problème

    edit :
    si je me connecte avec
    sqlplus /nolog
    connect system/manager@TOTO
    j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ORA-01034:ORACLE not available
    ORA-27101:Shared memory realm does not exist
    Linux error : 2: No such file or directory

    Merci d'avance

    Stoz

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    out of memory c'est clair non ? Tu dois avoir un programme qui consomme bcp de mémoire

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Je suis un peu débutant là dedans...

    Est ce que ça aurait un rapport avec l'utilisation de la RAM ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    J'ai regardé l'utilisation de la RAM, et j'ai 1,8 Go de libre.

  5. #5
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Vérifiez le fichier alert.log de l'instance pour des messages d'erreurs commençant par "ORA-" et pour un éventuel fichier trace. Il y a probablement un paramètre dans le fichier d'initialisation de la base qui est trop grand (sga_target, shared_pool_size, db_block_buffers ou db_cache_size).

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    attenion, parfois sous linux ce genre de message n'a rien à voir, ça peut etre un problème dans le listener.ora, soit un oracle_home mauvais, soit il pointe sur une instance qui n'est pas démarrée etc....

    Comme premier test, il faudrai essayer de se connecter en direct

    1) renseigner correctement les variable ORACLE_HOME et ORACLE_SID
    2) sqlplus /nolog
    3) connect / as sysdba

    4) tester
    > select * from v$instance;
    > select * from CAT;

    si ça marche pas, faire :
    > shutdown immediate
    > startup

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    Bonjour

    quelle version de linux utilisez-vous ? tu dois savoir qu'il n'y a que la suse enterprise et la red hat enterprise qui sont supportées par oracle.

    votre problème peut effectivement venir de là (une librairie linux manquante) ou de paramètres kernel mal positionnés (/ect/sysctl).

    quelle procédure d'installation avez-vous suivie ?

    vérifiez tous les prérequis d'installation spécifié dans l'installation guide d'oracle (c'est disponible gratuitement sur otn.oracle.com). c'est rébarbatif mais c'est à priori comme cela que vous trouverez les problèmes .

    l'installation d'une db n'est pas toujours aussi simple que certains (marketing oracle en premier ) le laissent sous-entendre

    bonne chance (et bon réveillon

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par remi4444
    attenion, parfois sous linux ce genre de message n'a rien à voir, ça peut etre un problème dans le listener.ora, soit un oracle_home mauvais, soit il pointe sur une instance qui n'est pas démarrée etc....

    Comme premier test, il faudrai essayer de se connecter en direct

    1) renseigner correctement les variable ORACLE_HOME et ORACLE_SID
    2) sqlplus /nolog
    3) connect / as sysdba

    4) tester
    > select * from v$instance;
    > select * from CAT;

    si ça marche pas, faire :
    > shutdown immediate
    > startup
    J'ai fait tout ça, mais ça ne fonctionne pas. J'arrive bien à me connecter à une instance inactive, mais les select me renvoient une erreur "ORACLE not available". Le shutdown aussi d'ailleurs.

    Le listener est ok.

    D'ailleurs, tout marchait très bien jusqu'à vendredi. Puis le serveur a été rebooté et ça ne marchait plus.

    Pour info, la version de linux est une Red Hat 3.

  9. #9
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Est-ce que la command startup retourne toujours le même message d'erreur ?
    Quel est le contenu du fichier alert.log ?
    Quelles sont les valeurs des paramètres pour sga_target, shared_pool_size, db_block_buffers et db_cache_size dans le fichier d'initialisation (init<SID>.ora) ?
    Qu'est-ce qui a été changé entre le moment où la base fonctionnait et le moment où on ne peut plus la démarrer ? Le fichier init.ora a-t-il été modifié ? Un paramètre système Linux a-t-il été modifié ?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Dans le fichier alert, je n'ai que trois lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shutting down instance (abort)
    Dans mon initSID.ora, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    shared_pool_size = 33554432
    db_cache_size = 16777216
    large_pool_size = 0
    En revanche, je n'ai ni db_block_buffers, ni sga_target...

    stoz

    edit : Apparement rien n'a été modifié, mais je ne suis malheureusement pas le seul à avoir accès à ce serveur.

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    es-tu certian du nom de ton instance ???

  12. #12
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Est-ce que la commande startup retourne toujours la même erreur ?

    Que donne les commandes Linux suivantes exécutées par le compte oracle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ipcs -m
    ps -fu oracle
    Une note Metalink dit que cette erreur peut venir du paramètre Linux shmall qui serait trop petit par rapport a shmmax. La solution consiste dans ce cas à configurer et à rebooter le serveur.

  13. #13
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Marc => oui, le nom de mon instance est bon.

    Citation Envoyé par pifor
    Est-ce que la commande startup retourne toujours la même erreur ?
    Oui, c'est toujours ORA-27102 : out of memory

    Citation Envoyé par pifor
    Que donne les commandes Linux suivantes exécutées par le compte oracle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ipcs -m
    ps -fu oracle
    ipcs - m => cela m'affiche des entêtes d'un tableau "Segment de mémoire partagée" (touche, schmid, propriétaire, ...) mais avec rien du tout en dessous.

    ps -fu oracle => j'ai également des entêtes de tableau (UID, PID, ...), mais toujours rien en dessous.

    Citation Envoyé par pifor
    Une note Metalink dit que cette erreur peut venir du paramètre Linux shmall qui serait trop petit par rapport a shmmax. La solution consiste dans ce cas à configurer et à rebooter le serveur.
    Euh, la je t'avoue que je nage, je suis débutant sous linux alors je ne sais ni comment voir les valeurs de ces éléments, ni comment changer le shmall.

    edit : j'ai cherché un peu sur le net pour voir comment changer le shmall, on y parle du fichier sysctl.conf. J'ai regardé ce fichier, mais j'ai plusieurs fois les éléments kernel.shmmax et kernel.shmall. Je ne sais pas ou regarder...

  14. #14
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Essayez la modification suivante et de ne garder qu'une seule valeur pour chaque paramètre:

    http://oracle.developpez.com/guide/i...on/linux/#L3.4

  15. #15
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Le problème venait en réalité du fait que j'avais plusieurs lignes (shmall, shmmax, ...) dans le fichier /etc/sysctl.conf.

    En effet, quelqu'un avait changé ce fichier pour mettre un fichier standard qui contenait toutes les valeurs possibles classées par taille de mémoire (512 Mo, 1Go, 2Go,...). Je n'ai gardé que celles de 2Go (la mémoire du serveur), j'ai rebooté et tout marche bien maintenant.

    Merci à tous ceux qui m'ont aidé sur ce problème.

  16. #16
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    sécurise l'accès à ce genre de fichiers.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/12/2010, 16h28
  2. Réponses: 1
    Dernier message: 16/11/2010, 13h22
  3. erreur : The system is out of memory. Use server side cursors
    Par kergoussel dans le forum ODI (ex-Sunopsis)
    Réponses: 1
    Dernier message: 06/12/2007, 12h10
  4. Erreur : Microsoft Visual C++ : Out Of Memory
    Par snoopy69 dans le forum Windows XP
    Réponses: 4
    Dernier message: 16/10/2006, 15h29
  5. erreur ORA-01002: fetch out of sequence
    Par lazzeroni dans le forum Oracle
    Réponses: 2
    Dernier message: 19/06/2006, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo