[Oracle8i - dbms_job] procédure en mode background
Bonjour,
nous souhaiterions exécuter plusieurs procédures en parallèle en utilisant dbms_job.
Mais nous n'arrivons pas à lancer une procédure en mode background pour récupérer la main dès son lancement et pouvoir en exécuter une autre dans la foulée.
Voici ce que nous avons fait :
Une procédure qui écrit dans un fichier toutes les 2 secondes
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
CREATE OR REPLACE PROCEDURE test_job1 IS
FicOut Utl_File.File_Type;
i NUMBER := 0;
BEGIN
FicOut := utl_file.fopen(spc_param.fn_get_Valeur('REPERTRV'),
'Job1.txt',
'w');
utl_file.put_line(FicOut, to_char(SYSDATE, 'HH24:MI:SS'));
WHILE TRUE LOOP
i := i + 1;
countdown(0, 0, 0, 2);
utl_file.put_line(FicOut, i);
IF i > 10 THEN
EXIT;
END IF;
END LOOP;
utl_file.fclose(FicOut);
END test_job1; |
Création dun job pour la lancer :
Code:
1 2 3 4 5 6 7
|
DECLARE
x number;
BEGIN
dbms_job.submit(x,'test_job1;',sysdate,'sysdate+1',FALSE, 0, TRUE);
dbms_output.put_line(x);
END; |
Exécution :
Code:
1 2 3 4
|
BEGIN
dbms_job.run(5, TRUE);
END; |
Que l'on mette TRUE ou FALSE comme 2ème argument l'exécution reste en foreground :(
Quelqu'un a t-il une idée ?? par exemple pour forcer les exécutions en background
Merci