|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : août 2007 Messages : 32 ![]() |
Bonjour,
nous utilisons principalement sunopsis pour des traitements batchs dont la majorité s'execute dans une certaine tranche horaire. Le problème est que selon les jours, lorsque nous avons une grande quantité de données a traiter, si une interface se lance alors qu'un autre n'a pas fini de s'executer, la premiere plante, elle perd les connexions aux bases et fichiers. Auriez vous une idée d'ou cela peut il provenir ? eventuellement nous avons pensé a un nombre limité de licences batch. Merci J'edite : a propos de la licence, je ne trouve pas chez oracle le support specifique Sunopsis et ici personne n'a l'info, mon prédécesseur est parti avant que j'arrive et n'a pas forcément tout transmis. |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : juillet 2007 Messages : 82 ![]() |
Essayes de créer plusieurs agents et de mettre en œuvre la Répartition de Charge et ça devrait gérer ces problèmes.
|
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : août 2007 Messages : 32 ![]() |
merci. Je ne connais pas encore tres bien sunopsis alors j'ai regardé cette histoire d'agents mais je ne sais pas trop comment les faire fonctionner. En effet nous lançons a partir d'un autre serveur (ERP) directement les startscen.bat, nous avons une bonne dizaine de contextes différents (en prod + au moins autant en dev). Ca veut dire qu'il faudrait que je créé une dizaine d'agents logiques tous associés a l'agent physique + faire les associations agent logique/contexte d'exec ?
merci en tout cas je vais me replonger la dedans pour essayer de trouver une solution. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Chef de projet NTIC Inscription : octobre 2004 Messages : 1 149 ![]() |
Salut,
Une autre solution à base de flag peut être mise en place. Tu crée une table avec un indice par interface par exemple Dès qu'une interface commence tu flag à 1 et dès qu'elle finit tu flag à 0. Tu adaptes les autres interfaces de facon à ne démarrer que si le flag de l'interface présendente est passé à 0 en utilisant une sorte de boucle conditionnelle (variable conditionelle). |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Expert Datawarehouses + BO (sur BDD Oracle et SQL Server) Inscription : mars 2003 Messages : 645 ![]() |
Il faut s'arranger pour exécuter ces traitements SQL (sans le batch donc) dans package "compilé" en plusieurs scénarios.
Si tu veux faire de l'alimentation parrallèle utilise les fonctions suivantes plutôt que de le gérer à la main (flag ?!) ou de lancer plusieurs agents (attention à la prolifération) : de détection d'évènements (Events Detection ) OdiFileWait OdiReadMail OdiSleep OdiWaitForChildSession OdiWaitForData OdiWaitForLogData OdiWaitForTable Ces fonctions en version 3.x comment par les mots Snp et pas Odi (le rachat de sunopsis par Oracle est passé par là: Sunopsis devient Oracle Data Integrator) edit: le message initial date de mars ! J'avais pas vu ! |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Chef de projet NTIC Inscription : octobre 2004 Messages : 1 149 ![]() |
Salut,
Je n'avais jamais vraiment prété attention à ces fonctions. En faite cela revient un peu au meme au même que de les gérer via un système que j'apelle de "flag". Pour moi un flag n'est autre qu'une variable qui prend une valeur 1 ou 0 si une requete me renvoie quelque chose ou non, une valeur dans une table par exemple. |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Expert Datawarehouses + BO (sur BDD Oracle et SQL Server) Inscription : mars 2003 Messages : 645 ![]() |
Certes mais si Sunopsis le gère de base pourquoi s'amuser à réinventer la roue.
|
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : août 2007 Messages : 32 ![]() |
Beegood, oui on est passé par un systeme de flag. avant de démarrer les traitements on vérifie qu'aucune autre interface n'est deja lancée. Et si ce n'est pas le cas alors on attend.
|
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : août 2007 Messages : 32 ![]() |
Je remonte ce post, et enleve le tag "resolu" puisque je viens de tomber sur le probleme il y a peu. Globalement nous avons contourné le fait de ne pas pouvoir lancer des interfaces simultanément en gérant des groupes d'interfaces et en utilisant des flags, mais uniquement sur les plus longues ou plus problematiques.
Aujourd'hui cela m'embrouille encore plus car les deux interfaces concernées attaquent les memes schemas mais pas les meme tables. Or la gestion par des flag implique aussi l'acces simultané en lecture sur le meme schéma, voire la meme table. Alors est-ce que l'acces en ecriture sur un schema par deux interfaces distinctes est impossible ? je retombe sur l'erreur Java : Can't find bundle for base name. Les fonctions d'attente sunopsis existent bien en V3 mais ne me permettent pas de résoudre le probleme puisque mes données sont bien présentes en base. C'est plutot une question de simultaneité de la connexion qui semble poser probleme. je vais regarder un peu du coté de java mais il n'y a pas beaucoup de doc sur ce qui est lié a adonix. |
|
|
00
|
|
|
#10 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 954 ![]() |
Ce n'est pas du à une limitation de la base de données ?
Par exemple on ne peut avoir que 3 connexions ... Tu as vu avec les DBA ? C'est quel SGBD ? |
|
00
|
|
|
#11 |
|
Membre chevronné
![]() Chef de projet NTIC Inscription : octobre 2004 Messages : 1 149 ![]() |
Bonjour,
Ce post date un peu mais as tu trouvé une solution à ton problème ? Sinon peux préciser la version de ta base de données ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com