Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Utilizacion de job

Estas en el tema de Utilizacion de job en el foro de Oracle en Foros del Web. Hola a todos.. Como están?? Tengo un procedimiento que realiza X tarea.... quiero que dicha tarea se realice en una hora especifica todos los días.... ...
  #1 (permalink)  
Antiguo 06/10/2006, 14:20
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 18 años, 6 meses
Puntos: 0
Exclamación Utilizacion de job

Hola a todos.. Como están??

Tengo un procedimiento que realiza X tarea.... quiero que dicha tarea se realice en una hora especifica todos los días.... leí por allí que los Job son una opción para que se realice el procedimiento en el momento que yo quiero.... nunca he hecho ningún Job.... tengo unos ejemplos y sintaxis pero no se como encajarlo a mi situación...

El procedimiento se llama "verificar", esta en un paquete llamado "pkg_comp" y quiero que se realice todos los días a las 3AM.

El job quedaria como como:

Código:
BEGIN
  SYS.DBMS_JOB.SUBMIT
    ( job       => 7971 
     ,what      => 'PKG_COMP.verificar;'     
     ,next_date => to_date('06-10-2006 03:00:00', 'dd-mm-yyyy hh24:mi:ss')
     ,interval => 'TRUNC(SYSDATE + 1/24, ''HH'')'
    );
  COMMIT;
END;
Es correcto??? me estoy equivocando en algo???

Gracias....
__________________
Ana Martins
  #2 (permalink)  
Antiguo 06/10/2006, 16:10
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 18 años, 6 meses
Puntos: 0
hola....

Tuve que modificar el ejemplo que coloque arriba y me quedo como:

Código:
DECLARE
        v_job NUMBER; --Número asignado al job
BEGIN
        DBMS_JOB.SUBMIT( job  => v_job,
                         what      => 'PKG_COMP.verificar;',      --procedimiento que se va a ejecutar
                         next_date => TRUNC(SYSDATE)+ 4/24),  --cuando se ejecuta por primera vez (este es a las 4 de la mañana)
                         interval  => 'TRUNC(SYSDATE)+ 4/24)');  --cuando se vuelve a ejecutar la proxima vez
        DBMS_OUTPUT.PUT_LINE('Número asignado al job: '||v_job);
        COMMIT;
EXCEPTION
        WHEN OTHERS THEN
                RAISE_APPLICATION_ERROR(-20002,'Error generando JOB para ejecutar PKG_COMP.verificar');
END;
/
Estoy utilizando el PL/SQL Developer y me sale el error ORA-01036: numero/nombre no valido. ¿Qué podrá ser?

Gracias...
__________________
Ana Martins
  #3 (permalink)  
Antiguo 09/10/2006, 12:05
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 18 años, 6 meses
Puntos: 0
Hola a todos…

Con respecto a mi pregunta anterior ya solucione el problema , quedo de la siguiente manera:

Cita:
begin
sys.dbms_job.submit(job => :job,
what => 'PKG_COMP.verificar;',
next_date => to_date('10-10-2006 04:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'TRUNC(SYSDATE)+ 1 + 4/24');
commit;
end;
/
ciao!
__________________
Ana Martins
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:08.