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 :

Problème mémoire avec DBMS_XMLDOM


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut Problème mémoire avec DBMS_XMLDOM
    Bonjour,

    J'ai un package qui doit générer du XML depuis des infos de la base.
    C'est le package DBMS_XMLDOM qui est utilisé dans un curseur récupérant les données.

    Les fonctions utilisées sont :
    newdomdocument
    makenode
    createelement
    appendchild
    createtextnode

    Tout ce passe bien pour un maximum de 15000 noeuds "root".
    Mais au delà, j'ai un message d'erreur
    ORA-04030: out of process memory when trying to allocate 48 bytes
    (kxs-heap-w,qesdcf_dfb_reset:qesdcfm)
    Comme je n'ai pas beaucoup d'aide des DBA (il faut leur donner la solution clé en main), j'ai besoin de votre aide.
    Merci.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Essayez la solution proposée dans XMLDOM PLSQL performance tip

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    Merci mais j'utilise déjà le package dbms_session.free_unused_user_memory.

    Le problème c'est que le XML généré provient de 2 curseurs liés.
    Le 1er curseur ramène une 10e de lignes et le 2e ramène de 10000 à 40000 lignes.
    Dans le cas présent, le traitement plante dans le 2e curseur pendant qu'il ramène les 40000 lignes.
    L'erreur "out of memory" survient après environ 15000 lignes.

    J'ai mis dbms_session.free_unused_user_memory dans la boucle du curseur 1.
    Je ne peux pas le mettre dans le curseur 2. Je ne sais pas si ca servira à quelque chose. Et en plus ca fera énormément d'appels.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Tout le document XML que vous est en train de construire est en mémoire. Le message vous indique qu’il n’y plus de mémoire physique disponible au niveau de l’OS ; ça pourrait être une limitation de cette ressource imposé au niveau de l’OS.
    Donc essayez d’une part de surveiller la consommation de la mémoire par ce processus et d’autre part voir ce qui peut être fait au niveau de la machine.

Discussions similaires

  1. [XL-2010] Problème mémoire avec shapes
    Par LEF97 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/03/2013, 13h26
  2. Problème mémoire avec InternetOpenUrl
    Par laetus dans le forum C++Builder
    Réponses: 0
    Dernier message: 06/09/2007, 08h23
  3. [VC6]Problème mémoire avec BDE
    Par Vow dans le forum MFC
    Réponses: 5
    Dernier message: 07/10/2005, 11h44
  4. Problémes mémoire avec le bde sur des bases paradox
    Par Keke des Iles dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/05/2004, 16h55
  5. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20

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