Problème de perf et supervision ODI /SUNOPSIS - SQL/NoSQL - Programmation
MarshPosté le 12-03-2009 à 11:57:16
Bonjour,
Je rencontre un problème bloquant en prod qui commence à m'énerver sérieusement.
En fait l'agent planifié qui lance tous les scénarios ODI plante régulièrement à cause d'une surcharge de mémoire. Les scénarios lancés traitent un flux très important de données XML et Oracle, j'avais demandé au support Oracle une solution au problème , ils m'ont répondu comme quoi ils reconnaissent que ODI et les agents déconnent à chaque fois avec des flux XML car ils sont chargés en mémoire et que l'espace de travail aussi est chargé en mémoire ce qui fait que quand le scénario traite par exemple un nombre important de schémas XML il a tendance à se mettre en erreur ou bien les scénarios ne vont pas jusqu'au bout.
Oracle propose de redémarrer l'agent, c'est ce qu'on fait maintenant et à chaque fois, les traitements passent correctement après le redémarrage mais comme j'ai bcp d'agents en prod et des traitements qui doivent tourner en permanence la solution proposée par Oracle reste très limitée et non automatisée.
Ce que je veux faire maintenant c'est de faire un package ODI qui permet de redémarrer tel ou tel agent que je planifierais par la suite, j'ai vu sous le designer ODI qu'il y a un objet ODIKillagent sauf qu'il prend un seul paramètre : le port. Tout d'abord j'aimerais bien avoir vos idées ou les solutions que vous avez envisagé si jamais vous aviez rencontré le même problème de perf, ensuite est ce que l'objet ODIkillAgent permet de redémarrer l'agent ou bien il le kill tout simplement. Aussi tous les agents utilisent preseque le même port 20910 , l'ODIkillAgent va arrêter tous les agents qui sont sur cette machine?
J'ai pensé aussi à faire un package de purge des logs par agent pour ne pas ralentir les performances d'ODI vu que mes scénarios générent beaucoup de log , est ce que ca vous parait une bonne idée?
J'ai une autre question aussi (wé y en a plein) , j'ai besoin de superviser mon environnement de prod et controler le plantage des agents , et pour cela je veux faire un package ou une procédure PL/SQL qui interroge le référentiel pour notifier par mail à chaque plantage mais je n'ai aucune idée sur les tables à interroger , sauriez vous lesquelles faudra utiliser?
Marsh Posté le 12-03-2009 à 11:57:16
Bonjour,
Je rencontre un problème bloquant en prod qui commence à m'énerver sérieusement.
En fait l'agent planifié qui lance tous les scénarios ODI plante régulièrement à cause d'une surcharge de mémoire.
Les scénarios lancés traitent un flux très important de données XML et Oracle, j'avais demandé au support Oracle une solution au problème , ils m'ont répondu comme quoi ils reconnaissent que ODI et les agents déconnent à chaque fois avec des flux XML car ils sont chargés en mémoire et que l'espace de travail aussi est chargé en mémoire ce qui fait que quand le scénario traite par exemple un nombre important de schémas XML il a tendance à se mettre en erreur ou bien les scénarios ne vont pas jusqu'au bout.
Oracle propose de redémarrer l'agent, c'est ce qu'on fait maintenant et à chaque fois, les traitements passent correctement après le redémarrage mais comme j'ai bcp d'agents en prod et des traitements qui doivent tourner en permanence la solution proposée par Oracle reste très limitée et non automatisée.
Ce que je veux faire maintenant c'est de faire un package ODI qui permet de redémarrer tel ou tel agent que je planifierais par la suite, j'ai vu sous le designer ODI qu'il y a un objet ODIKillagent sauf qu'il prend un seul paramètre : le port.
Tout d'abord j'aimerais bien avoir vos idées ou les solutions que vous avez envisagé si jamais vous aviez rencontré le même problème de perf, ensuite est ce que l'objet ODIkillAgent permet de redémarrer l'agent ou bien il le kill tout simplement. Aussi tous les agents utilisent preseque le même port 20910 , l'ODIkillAgent va arrêter tous les agents qui sont sur cette machine?
J'ai pensé aussi à faire un package de purge des logs par agent pour ne pas ralentir les performances d'ODI vu que mes scénarios générent beaucoup de log , est ce que ca vous parait une bonne idée?
J'ai une autre question aussi (wé y en a plein) , j'ai besoin de superviser mon environnement de prod et controler le plantage des agents , et pour cela je veux faire un package ou une procédure PL/SQL qui interroge le référentiel pour notifier par mail à chaque plantage mais je n'ai aucune idée sur les tables à interroger , sauriez vous lesquelles faudra utiliser?
J'attends vos idées et vos propositions
Merci bien