Outils personnels

Suppression de JOB Oracle 10g : Différence entre versions

De wikiGite

(Page créée avec « == JOB lancé par l'application == Trouver l'identifiant du JOB (job=identifiant, what=contenu): select job,substr(what,1,20),next_date from dba_jobs; Est-il RUNNING ? : se... »)
 
(JOB lancé par l'application)
 
(Une révision intermédiaire par un autre utilisateur non affichée)
Ligne 2 : Ligne 2 :
 
Trouver l'identifiant du JOB (job=identifiant, what=contenu):
 
Trouver l'identifiant du JOB (job=identifiant, what=contenu):
 
  select job,substr(what,1,20),next_date from dba_jobs;
 
  select job,substr(what,1,20),next_date from dba_jobs;
Est-il RUNNING ? :
+
Est-il bien RUNNING ? (oui s'il apparait dans la table suivante) :
 
  select job,last_date from dba_jobs_running;
 
  select job,last_date from dba_jobs_running;
  
Ligne 13 : Ligne 13 :
  
 
Tuer la session correspondante :
 
Tuer la session correspondante :
  alter system kill session <sid>,<serial#>;
+
  alter system kill session '<sid>,<serial#>';
 
en reprenant les valeurs trouvés dans la requête précédente.
 
en reprenant les valeurs trouvés dans la requête précédente.
  

Version actuelle datée du 17 novembre 2010 à 09:18

JOB lancé par l'application

Trouver l'identifiant du JOB (job=identifiant, what=contenu):

select job,substr(what,1,20),next_date from dba_jobs;

Est-il bien RUNNING ? (oui s'il apparait dans la table suivante) :

select job,last_date from dba_jobs_running;

Tenter de le supprimer :

EXEC DBMS_JOB.REMOVE(<numéro du job>);

Si ça ne suffit pas, trouver la session qui a lancé le job :

SELECT job,s.sid,s.serial#,spid FROM dba_jobs_running d, v$session s, v$process p WHERE d.sid = s.SID AND s.PADDR = p.ADDR;

Les colonnes intéressantes sont SID et SERIAL#

Tuer la session correspondante :

alter system kill session '<sid>,<serial#>';

en reprenant les valeurs trouvés dans la requête précédente.

JOB planifié dans Oracle

A TESTER.

On peut tenter :

BEGIN
 dbms_scheduler.drop_job( <job name> [,<force>] );
END;

Ou force est un booléen, à FALSE par défaut, qu'on peut mettre à TRUE.