[ oracle ] programer un trigger

Fermé
NICEMAN16 - 10 mai 2008 à 01:05
 jinkas - 25 mai 2009 à 12:04
slt a tous, j'ai fais une replication bidirectionnelle synchrone en tre 2 bases distantes sur oracle 9i et ca marche a merveille, maintenant je veux la generaliser a une asynchrone et pour ca je dois programmé le declanchement de mes trigger pour qu'ils se declanche tous les jours a 23.00h , si quelqu'un connais la syntaxe ca ne serai pasde refus.
merci d'avance!

5 réponses

Moerco-fr Messages postés 5 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 19 décembre 2009 3
10 mai 2008 à 01:11
Bonsoir,

Les triggers sont nécessairement synchrones.

Si tu veux déclencher un traitement à heure fixe, il faudra utiliser une procédure ou un bloc PLSQL déclenché par un JOB (DBMS_JOB) en Oracle 8i/9i/10g ou DBMS_SCHEDULE (il me semble) en 10g. Il faudra aussi avoir mis le paramètre job_processes=1 ou + dans le fichier ini.ora
0
tu peux m'aider sur la syntaxe je croi que je dois travaillé avec sysdate c'est ma toute 1er utilisation d'oracle et c'est vraiment urgent, meme avedc un petit exemple svp!
0
Moerco-fr Messages postés 5 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 19 décembre 2009 3
10 mai 2008 à 01:30
La doc de DBMS_JOB, en anglais :
https://docs.oracle.com/cd/B10501_01/appdev.920/a96612/d_job.htm#999107

pour soumettre un job :

VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,
what => 'mon bloc PL ou l'appel de ma procédure de synchro ici'
next_date => trunc(SYSDATE)+23/24, -- 23H ce jour
interval => 'trunc(SYSDATE+1) + 23/24' -- 23H le lendemain (si la synchro dure moins d'une heure;))
);
commit;
END;
/
0
je vais l'essayé merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Je voudrais pouvoir faire une réplication bidirectionnelle synchrone entre deux tables sur deux bases de données oracle différentes. En fait, j'ai deux applications web différentes utilisant deux tables presque identiques à quelques champs près, je voudrais que lorsque je modifie le mot de passe d'un utilisateur sur une application j'aimerai que celle-ci soit aussi modifié pour l'autre pour que l'utilisateur puisse se connecter sur les deux appli en utilisant le meme mot de passe. J'ai pensé à créer 1 table sur chaque base qui vont être les mêmes. Après je ne sais comment faire ?
0