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

Administration Oracle Discussion :

Paramétrage et souci "out of process memory"


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 43
    Points
    43
    Par défaut Paramétrage et souci "out of process memory"
    Bonjour à tous,

    Nous installons en ce moment une base Oracle 9i, alimentée par des procédures PL-SQL qui tapent via DB Links dans un datawarehouse.

    Ces procédures tournent depuis quelques années avec succès sur une base Oracle équivalente, mais une base Oracle 8i.

    Ces bases Oracle se trouvent sur des serveurs Unix.

    Or, sur la 9i, quand je lance manuellement, via Toad, la procédure se plante avec l'erreur suivante :
    ORA-04030: out of process memory when trying to allocate 408 bytes (callheap,qerrmbv[]: qerrmObnd)

    Mon DBA, en retouchant les paramètres pga_aggregate_target et _pga_max_size, a réussi à faire tourner les procédures.


    Et c'est là que pige plus rien : quand moi je la lance via Toad, ça ne marche toujours pas
    Lui se connecte sur Unix avec le user oracle et moi avec mon user perso, mais on se connecte à l'instance Oracle 9i avec le même user.

    Mon user perso Unix a pourtant, comme le user oracle, des droits unlimited d'allocation mémoire.

    Donc là on est un peu sec


    Pensez-vous que ça peut être lié à mon contexte Windows (de là où je lance via Toad) ? Moi je trouverais ça bizarre pcq au fond ce n'est qu'une interface et tout tourne sur Unix, et en plus je ne sais pas ce qu'il faudrait faire...

    Et sinon, voyez-vous d'autres paramètres que l'allocation mémoire sur Unix ou le PGA sur Oracle qui pourraient être impliqués ?


    Je ne suis pas grand spécialiste, j'espère quand même avoir réussi à me faire comprendre

    Merci d'avance pour votre aide

  2. #2
    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
    ORA-04030: out of process memory when trying to allocate string bytes (string,string)
    Cause: Operating system process private memory has been exhausted
    Action: none
    Il n'y a pas assez de mémoire sur le serveur et ça peut changer très vite suivant les besoins d'Oracle car le paramètre PGA_AGGREGATE_TARGET n'est pas un limite "dure".

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par sebduth Voir le message
    Mon user perso Unix a pourtant, comme le user oracle, des droits unlimited d'allocation mémoire.
    Vous parlez de ulimit ici ? Pouvez-vous nous en montrer le résultat ?
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Pomalaix Voir le message
    Vous parlez de ulimit ici ? Pouvez-vous nous en montrer le résultat ?

    >ulimit -a
    time(seconds) unlimited
    file(blocks) unlimited
    data(kbytes) unlimited
    stack(kbytes) unlimited
    memory(kbytes) unlimited
    coredump(blocks) 4194302
    nofiles(descriptors) unlimited

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par pifor Voir le message
    Il n'y a pas assez de mémoire sur le serveur et ça peut changer très vite suivant les besoins d'Oracle car le paramètre PGA_AGGREGATE_TARGET n'est pas un limite "dure".


    Tu veux dire par là qu'en dépit du PGA_AGGREGATE_TARGET, le traitement pompe plus de mémoire (c'est ce que j'ai compris dans le lien transmis) ?

    Ok, mais ce qui m'interpelle, c'est surtout que le DBA, lui, a réussi à la faire fonctionner, et moi pas.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Suite de mes investigations...

    Comme le DBA et le responsable Unix soupçonnaient mon usage de Toad, je me suis connecté directement sur le serveur Unix, et j'ai lancé ma procédure PL-SQL via SQL*Plus.

    J'obtiens la même erreur, si bien que l'étau se resserre autour du compte Unix.

    Mais comme j'ai une allocation mémoire unlimited, je ne vois pas d'où ça peut venir

  7. #7
    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
    Tu veux dire par là qu'en dépit du PGA_AGGREGATE_TARGET, le traitement pompe plus de mémoire (c'est ce que j'ai compris dans le lien transmis) ?
    Oui, par exemple si le code PL/SQL utilise beaucoup de collections.

    Je ne suis pas sûr que c'est le compte Unix qui est en cause car dans tous les cas le processus Unix qui exécute la requête côté serveur est un processus exécuté par le compte Unix "oracle" qu'il s'agisse d'un serveur dédié ou d'un serveur partagé.

    Est-ce que vous vous connectez à la base par Oracle Net en local (@<instance>; si oui que contient tnsnames.ora et listener.ora ?) ou en positionnant seulement ORACLE_SID ?

    Que donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    show sga;
    select * from v$pgastat;
    Le serveur est-il dédié à une instance Oracle, à plusieurs instances Oracle et/ou à d'autres serveurs (web, etc.) ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    Nous avons réussi à résoudre notre problème.

    En fait, en mettant la mémoire à unlimited sur le compte application Unix, ça a fonctionné en local.

    Pour le problème via Toad (donc pas en local), ça a été corrigé, mais je ne sais pas comment. Si j'en sais plus, j'en ferai part pour ceux qui auraient le même souci.

    Merci beaucoup.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Apparement on a le même problème, est-ce que vous savez comment vous avez resolu le problème ? moi aussi j'ai l'erreur ORA-04030 en se connectant avec le TNS et pas d'erreur en local.

    oracle 9i / UNIX / ulimit unlimited
    Merci de votre aide

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

Discussions similaires

  1. Write Process Memory
    Par THE PRO dans le forum VB.NET
    Réponses: 4
    Dernier message: 23/07/2012, 20h29
  2. ORA-04030 out of process memory
    Par olap_2001 dans le forum Oracle
    Réponses: 5
    Dernier message: 04/05/2011, 16h29
  3. Réponses: 2
    Dernier message: 07/09/2010, 14h03
  4. ne peut pas simplement "aXSLProc.Process(aCursor);"
    Par didier.cabale dans le forum XMLRAD
    Réponses: 16
    Dernier message: 08/03/2006, 12h25

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