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) |
||
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; | ||
Version du 17 novembre 2010 à 09:17
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.