top of page

JD Edwards : quand les lenteurs ne viennent pas de l’ERP… mais de la base Oracle

  • Photo du rédacteur: Jean-Michel Alluguette – OP&S
    Jean-Michel Alluguette – OP&S
  • 31 oct. 2025
  • 5 min de lecture

Dernière mise à jour : 17 déc. 2025


Quand un utilisateur dit “JD Edwards est lent”, la réaction classique est de chercher du côté:


  • de la configuration JDE / CNC,

  • du réseau,

  • du serveur applicatif,

  • ou du code ERP.


Et parfois, c’est effectivement là.


Mais dans une grande partie des cas, le problème est ailleurs : dans la base Oracle qui supporte JD Edwards.


Pas forcément parce qu’Oracle “est mal”, mais parce que la base encaisse des contraintes invisibles au niveau ERP : I/O, verrous, contention, paramètres inadaptés, statistiques, croissance volumétrique…


Dans cet article, je vous propose une méthode simple et reproductible pour répondre à la question clé :

Les lenteurs viennent-elles de JD Edwards… ou de la base Oracle ?

JDE soumis aux lenteurs BDD ORACLE


Pourquoi le diagnostic JDE est souvent trompeur


JD Edwards est un ERP avec :


  • des batchs lourds (souvent nocturnes),

  • des fenêtres critiques (clôtures, traitements mensuels),

  • des pics d’activité concentrés,

  • des volumes qui évoluent (volumétrie, historiques, interfaces).


Quand ça ralentit, vous pouvez avoir la même plainte utilisateur (“c’est lent”) pour des causes totalement différentes :


  • surcharge CPU,

  • stockage trop lent,

  • contention sur la base,

  • plan d’exécution qui a changé,

  • TEMP/UNDO sous-dimensionnés,

  • redo logs trop petits,

  • collecte de statistiques mal positionnée, etc.


Si vous ne regardez que l’ERP, vous risquez de corriger le symptôme, pas la cause.



Première étape : objectiver le problème (pas “ressenti”, mais mesures)


Avant toute analyse, il faut un minimum de faits :


  • Quand les lenteurs arrivent-elles ? (heure, périodicité)

  • Est-ce que c’est plutôt en journée (interactif) ou la nuit (batchs) ?

  • Est-ce que ça touche tout le monde ou seulement certains flux ?

  • Est-ce que la durée des batchs dérive au fil des semaines ?


Vous voulez passer rapidement d’un “problème flou” à quelque chose de traçable :


  • des courbes,

  • des tendances,

  • des pics,

  • et des périodes comparables.



Ce que l’on doit regarder côté base Oracle (les 3 axes)


Pour déterminer si la base est en cause, il faut regarder 3 axes :


Axe 1 — La charge globale


  • DB Time / charge Oracle

  • CPU consommée

  • Activité globale de la base


Axe 2 — Les temps d’attente (wait events)


C’est souvent là que tout s’explique.

Chaque “classe” de wait te raconte une histoire différente :


  • I/O : stockage ou accès disque

  • Concurrency : verrous / contention

  • Configuration : paramètres, redo logs, checkpoints…

  • Network : latence réseau / client

  • Commit : commit slow / log file sync, etc.


Axe 3 — Le contexte applicatif


  • période de batch JDE,

  • traitements critiques,

  • fenêtres de clôture,

  • montée de volumétrie.


L’objectif est de corréler :


période de lenteur JDE ⇄ signature Oracle (charge + waits + ressources).



Lire un graphe de waits : comment interpréter les lenteurs


Sur une instance JDE, un graphe des waits Oracle par jour (ou par heure) est très parlant.


Chaque couleur correspond à une classe :


  • si I/O domine → vous regardez le stockage et les lectures,

  • si concurrency domine → vous cherchez les verrous / sessions,

  • si configuration domine → vous suspectez redo logs, checkpoints, paramètres mémoire/temp/undo, etc.


Ce type de vue permet de sortir des débats “infra vs ERP” :

on voit ce qui se passe réellement au niveau base.



Mini cas concret : un batch JDE divisé par 150 (R42800)


Chez un client JD Edwards, un batch critique R42800 durait environ 5 heures.


Après analyse et tuning ciblé, il est tombé à 1 minute 42 secondes.


Ce genre de gain ne vient pas d’un miracle. Il vient d’un diagnostic structuré :


  1. Identifier les périodes où le batch explose.

  2. Regarder la signature Oracle pendant la fenêtre du batch :

    • waits dominants,

    • charge CPU/I/O,

    • sessions actives.

  3. Corriger au bon niveau (Oracle) :

    • paramètres,

    • plan d’exécution / index,

    • contention,

    • stockage,

    • stats.

  4. Valider “avant / après” sur plusieurs exécutions.


L’enseignement : si vous ne regardez pas la base Oracle, vous pouvez passer à côté de gains énormes.



Méthode opérationnelle en 6 étapes (ce que vous pouvez refaire chez vous)


Étape 1 — Définir une période représentative


  • 7 à 14 jours minimum (pour voir tendances et répétitions)

  • inclure 1 fenêtre batch + 1 fenêtre journée


Étape 2 — Isoler les créneaux où JDE est lent


  • heures de plaintes utilisateurs

  • fenêtres batch critiques

  • périodes de clôture


Étape 3 — Regarder la charge Oracle pendant ces créneaux


  • DB Time vs CPU vs I/O

  • détecter si la base travaille ou attend


Étape 4 — Analyser les waits dominants


  • I/O ?

  • Concurrency ?

  • Configuration ?

  • Commit ?


Étape 5 — Descendre au niveau sessions / SQL si nécessaire


  • sessions les plus actives

  • SQL les plus consommateurs

  • corrélation avec batchs JDE


Étape 6 — Corriger et mesurer l’impact


  • “avant / après” sur les mêmes créneaux

  • stabiliser la performance, pas juste faire un coup ponctuel



Check-list : “Est-ce la base Oracle qui ralentit JD Edwards ?”


  1. Les lenteurs sont-elles corrélées à une hausse des waits Oracle ?


  2. Voit-on une domination I/O / Concurrency / Configuration sur les périodes lentes ?


  3. Les batchs JDE dépassent-ils leur fenêtre alors que l’activité métier n’a pas explosé ?


  4. Observe-t-on une dérive progressive (volumétrie, stats, fragmentation, etc.) ?


  5. Est-ce que la base est surdimensionnée… ou au contraire saturée ?


  6. Les temps d’attente “log file sync” / “file switch” / “checkpoint” apparaissent-ils ?


  7. Les stats Oracle sont-elles collectées au mauvais moment ?


  8. Le stockage est-il adapté (latence, IOPS, throughput) ?


  9. Y a-t-il des verrous récurrents (library cache lock, row lock…) ?


  10. Dispose-t-on d’un historique avant / après pour valider ?


Si vous avez plusieurs “oui”, le diagnostic doit clairement se faire côté Oracle.



Pourquoi OP&S est utile dans un contexte JDE


Sans rentrer dans une page produit, vous pouvez expliquer “ce que ça change” :


OP&S permet de :

  • visualiser la charge et les waits sans Diagnostic Pack,

  • comparer des périodes d’activité similaires,

  • identifier rapidement si la cause est I/O / contention / configuration,

  • objectiver les échanges entre équipes ERP, production, DBA et infra,

  • prioriser les actions (où gagner le plus vite).


En clair : on passe de “JDE est lent” à “voici la signature Oracle exacte, et voici les actions”.


Conclusion


Quand JD Edwards ralentit, le réflexe est de regarder l’ERP.


Mais très souvent, la base Oracle est le facteur limitant : I/O, contention, configuration, croissance.


Avec une méthode simple (charge → waits → sessions → validation), vous pouvez :

  • prouver où se situe la cause,

  • éviter des semaines de débats,

  • et parfois obtenir des gains spectaculaires sur vos batchs.


Une offre dédiée pour la communauté JDE


Pour la communauté JD Edwards, nous proposons un PoC OP&S de 1 mois, incluant un audit complet des performances de la base Oracle supportant votre ERP.


Objectif : identifier précocement les goulets côté base, avant qu’ils n’impactent durablement vos traitements et vos utilisateurs.





JM Alluguette

À propos de l’auteur


 Jean-Michel Alluguette est le fondateur d’OP&S, un logiciel dédié aux environnements Oracle et ERP (JD Edwards / E-Business Suite) pour piloter performance, coûts (FinOps) et sécurité/licences.


 Vous souhaitez une analyse factuelle de vos bases Oracle ? → Demander un PoC gratuit de 1 mois.


Commentaires


© 2019–2025 OP&S

bottom of page