Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2011, 10h44   #1
Invité de passage
 
sofiane
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : sofiane

Informations forums :
Inscription : février 2011
Messages : 5
Points : 3
Points : 3
Par défaut Exécution en parallèle de plusieurs procédures

Bonjour,

Je voudrais exécuter plusieurs procédures à la fois sur Oracle.
J'ai une procédure Procédure_globale (paramètre1) qui comporte plusieurs procédures :
  • procédure1 (paramètre1);
  • procédure2 (paramètre1);
  • procédure3 (paramètre1);

Quand j'exécute sous SQL*Plus : Procédure_globale (paramètre1), ça lance la procédure1 puis procédure2 puis procédure3.

Je voudrais lancer les trois procédures à la fois dans trois sessions Oracle différentes : est-ce qu'il y a possibilité de le faire ?

J'ai essayé de changer ma Procédure_globale (paramètre1) :
procédure1 (paramètre1) & procédure2 (paramètre1) & procédure3 (paramètre1);

Mais ça ne marche pas.
sofiane2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h08   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Ce n’est pas très claire ce que vous voulez obtenir.
En principe, vous pouvez utiliser dbms_job/dbms_scheduler dans proc _globale pour programmer l’exécution des proc1, proc2 et proc3.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h36   #3
Membre du Club
 
Wissem
Inscription : janvier 2011
Messages : 56
Détails du profil
Informations personnelles :
Nom : Wissem

Informations forums :
Inscription : janvier 2011
Messages : 56
Points : 66
Points : 66
Envoyer un message via MSN à orawiss Envoyer un message via Skype™ à orawiss
Bonjour,
Vous pouvez utiliser DBMS_SCHEDULER et vous devez être sur que les paramétres PARALLEL_* sont bien renseignés avec le nombre maximum de parallélisme.
__________________
----------------------------------------------------------------------------------------------
Merci,
Wissem
www.oracle-class.com (Vidéos, Articles, Livres, Forum, Webinar ...tous sur Oracle)
www.oracle-tns.com
OCA & OCP Oracle
orawiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 10h34   #4
Invité de passage
 
sofiane
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : sofiane

Informations forums :
Inscription : février 2011
Messages : 5
Points : 3
Points : 3
Par défaut salut

bonjour , merci pour vos réponse

comment puis je utiliser le dbms_scheduler , et aussi le paramétre parrallél
pouvez me donner un exemple s'il vous plait pour que je puisse l'utiliser , en reprenant le méme exemple

merci pour votre soutien
sofiane2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 10h55   #5
Invité de passage
 
sofiane
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : sofiane

Informations forums :
Inscription : février 2011
Messages : 5
Points : 3
Points : 3
bonjour ,

je suis allez voir le statut de ma procédure globale 'RBVQPLNC' qui est d ans le package 'RBVQAALM'
Code :
1
2
 
SELECT parallel FROM user_procedures WHERE procedure_name LIKE 'RBVQPLNC' AND object_name ='RBVQAALM';
et j'ai trouvé que parallel ='NO' ,

puis je modifier cette valeur et le mettre à YES puis exécuter ??
sofiane2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 15h56   #6
Invité de passage
 
sofiane
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : sofiane

Informations forums :
Inscription : février 2011
Messages : 5
Points : 3
Points : 3
C'est bon j'ai trouvé la solution :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CREATE OR REPLACE procedure test_sofiane  (p_fic IN varchar2)  AS 
 
 
BEGIN
 
    DBMS_JOB.iSUBMIT('1553', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate , 1);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1554', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate , 2);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1555', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,3);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1556', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,4);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1557', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,5);', SYSDATE, 'SYSDATE + 10/1440');
 
    DBMS_JOB.iSUBMIT('1558', 'INSERT INTO RBVQTMER(QI_FILIAL, ANNO , MES, TYPE_VPVU, MERCADO) SELECT QI_FILIAL, ANNO , MES, TYPE_VPVU,MERCADO FROM RBVQTMER_LOAD;' , SYSDATE, 'SYSDATE + 10/1440');
 
    DBMS_JOB.iSUBMIT('1559', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,6);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1560', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,7);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1561', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,8);', SYSDATE, 'SYSDATE + 10/1440');
 
    DBMS_JOB.iSUBMIT('1562','INSERT INTO RBVQTMME(QI_FILIAL, FECHA ,TYPE_VPVU ,USUARIO, FECHA_MOD , MERCADO )SELECT QI_FILIAL, FECHA ,TYPE_VPVU ,USUARIO, FECHA_MOD , MERCADO FROM RBVQTMME_LOAD ;', SYSDATE, 'SYSDATE + 10/1440');
 
    DBMS_JOB.iSUBMIT('1563', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,9);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1564', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,10);', SYSDATE, 'SYSDATE + 10/1440');
    DBMS_JOB.iSUBMIT('1565', 'insert into test (DATE_CHARGEMENT, ROBUSTEZ0 ) values (sysdate ,11);', SYSDATE, 'SYSDATE + 10/1440');
    commit;
 
 
   end test_sofiane;
Toutes ces commandes se lancent en même temps.
sofiane2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h51.


 
 
 
 
Partenaires

Hébergement Web