# Suppression de JOB Oracle 10g

## <span class="mw-headline" id="bkmrk-job-lanc%C3%A9-par-une-ap-0">JOB lancé par une application</span>

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

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

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

```SQL
select job,last_date from dba_jobs_running;
```

Tenter de le supprimer :

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

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

```SQL
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.

## <span class="mw-headline" id="bkmrk-job-planifi%C3%A9-dans-or-0">JOB planifié dans Oracle</span>

NOTE : PROCEDURE A TESTER.

On peut tenter :

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

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