Jobs y programacion de tareas

Recojo una consulta de Monica para abrir este nuevo tema de jobs de Oracle:

"Me podrias ayudar a Activar una tarea programada 
que a través de usuario Scott ejecute una vez a la 
semana y como confirmaría su ejecución.

Cualquier tarea programada por favor"

 

Para ejecutar tareas programadas Oracle utiliza los Jobs.

Has de crear un procedimiento almacenado, por ejemplo, y después crear un job para que lance ese procedure cada cierto tiempo.

Para la gestión de Jobs la base de datos proporcionaba el package dbms_job hasta la versión 10g, y a partir de esta versión se utiliza el package dbms_scheduler.

En Oracle dbms_job example y Oracle dbms_scheduler examples, de dba-oracle.com puedes encontrar dos buenos ejemolos de cómo funcionan, y enlaces a más información sobre jobs.

Una consulta rápida para controlar el estado de los jobs (con un usuario con privilegios de consulta del diccionario de Oracle):

select job,failures,last_date,last_sec,next_date,next_sec,schema_user
from dba_jobs; 

Y otra para consultar los que se están ejecutando en ese instante:

select * from dba_jobs_running;

 

Otra manera que tienes de programar y controlar ejecuciones de jobs de manera más visual es mediante la consola de administración web Enterprise Manager, o incluso con herramientas como PL/SQL Developer