Creaci贸n de Jobs en Oracle
Si alguien sabe desde que utilitario de Oracle se crean los jobs o cual es su sentencia de creaci贸n, por favor responder a mi correo.
Yo encontre una opci贸n desde el TOAD, lo cree, pero no corri贸 cuando lo programe, tal vez tenga que configurar algo m谩s...
cualquier comentario lo agradecer茅 mucho.
Saludos,
Paola.
Yo encontre una opci贸n desde el TOAD, lo cree, pero no corri贸 cuando lo programe, tal vez tenga que configurar algo m谩s...
cualquier comentario lo agradecer茅 mucho.
Saludos,
Paola.
1. tengo un secillo procedimiento...
create or replace procedure prueba_job is
v_sequence number;
begin
select seq_job.nextval
into v_sequence
from dual;
end;
2. lo programo como job..
SQL> variable x number;
begin
dbms_job.submit( :x,'prueba_job;',sysdate,'sysdate + 1/48');
end;
donde sysdate es la fecha cuando se ejecuta mi job por ejemplo
aguas revisar los ';'
SQL> select sysdate from dual;
SYSDATE
---------
27-FEB-04
1* select to_char(sysdate, 'hh:mi' ) from dual
SQL> /
TO_CH
-----
04:46
y 1/48 es un factor de 24 horas despues de ejecutar mi jon es decir se ejecutara en media hora despues
05:15.....
3) como saber que job tengo como esquema?, en facturas por ejemplo
SQL> desc user_jobs
Name Null? Type
------------------------------- -------- ----
JOB NOT NULL NUMBER
LOG_USER NOT NULL VARCHAR2(30)
PRIV_USER NOT NULL VARCHAR2(30)
SCHEMA_USER NOT NULL VARCHAR2(30)
LAST_DATE DATE
LAST_SEC VARCHAR2(8)
THIS_DATE DATE
THIS_SEC VARCHAR2(8)
NEXT_DATE NOT NULL DATE
NEXT_SEC VARCHAR2(8)
TOTAL_TIME NUMBER
BROKEN VARCHAR2(1)
INTERVAL NOT NULL VARCHAR2(200)
FAILURES NUMBER
WHAT VARCHAR2(4000)
NLS_ENV VARCHAR2(4000)
MISC_ENV RAW(32)
INSTANCE NUMBER
1* select joB, substr(what,1,23), to_char(last_date,'HH:MI' ), TO_CHAR(NEXT_DATE,'MI:HH'), FAILURE
SQL> /
JOB SUBSTR(WHAT,1,23) TO_CH TO_CH FAILURES
--------- ----------------------- ----- ----- ---------
3 prueba_job; 04:37 07:05 0
CADA VEZ QUE SE EJECUTA UN JOB SI EL PROCESO A EJECUTAR TIENE UN ERROR ENFONTE LA COLUMNA FAILURES SE INCREMENTARA +1
CUANDO AL COLUMNA FAIULRES LLEGA A 16, EL JOB QUEDA INTERRUMPIDO, EN ESTE CASO REVISAR EL PROCESO DEL JOB ENVIADO
4) como ejecutar un job incondicionalmente
SQL> exec dbms_job.run(3);
PL/SQL procedure successfully completed.
y el tiempo programado al la siguiente ejecucion se movio...
SQL> select joB, substr(what,1,23), to_char(last_date,'HH:MI' ), TO_CHAR(NEXT_DATE,'HH:mi')
2 , FAILUREs
3 from user_jobs;
JOB SUBSTR(WHAT,1,23) TO_CH TO_CH FAILURES
--------- ----------------------- ----- ----- ---------
3 prueba_job; 04:59 05:29 0
5) como eliminar un job
SQL> exec dbms_job.remove(3);
PL/SQL procedure successfully completed.
SQL>
cuando se da shut down a la base de datos y el job se vuele a programas al tiempo del levantamiento de la instancia
saludos!!!
create or replace procedure prueba_job is
v_sequence number;
begin
select seq_job.nextval
into v_sequence
from dual;
end;
2. lo programo como job..
SQL> variable x number;
begin
dbms_job.submit( :x,'prueba_job;',sysdate,'sysdate + 1/48');
end;
donde sysdate es la fecha cuando se ejecuta mi job por ejemplo
aguas revisar los ';'
SQL> select sysdate from dual;
SYSDATE
---------
27-FEB-04
1* select to_char(sysdate, 'hh:mi' ) from dual
SQL> /
TO_CH
-----
04:46
y 1/48 es un factor de 24 horas despues de ejecutar mi jon es decir se ejecutara en media hora despues
05:15.....
3) como saber que job tengo como esquema?, en facturas por ejemplo
SQL> desc user_jobs
Name Null? Type
------------------------------- -------- ----
JOB NOT NULL NUMBER
LOG_USER NOT NULL VARCHAR2(30)
PRIV_USER NOT NULL VARCHAR2(30)
SCHEMA_USER NOT NULL VARCHAR2(30)
LAST_DATE DATE
LAST_SEC VARCHAR2(8)
THIS_DATE DATE
THIS_SEC VARCHAR2(8)
NEXT_DATE NOT NULL DATE
NEXT_SEC VARCHAR2(8)
TOTAL_TIME NUMBER
BROKEN VARCHAR2(1)
INTERVAL NOT NULL VARCHAR2(200)
FAILURES NUMBER
WHAT VARCHAR2(4000)
NLS_ENV VARCHAR2(4000)
MISC_ENV RAW(32)
INSTANCE NUMBER
1* select joB, substr(what,1,23), to_char(last_date,'HH:MI' ), TO_CHAR(NEXT_DATE,'MI:HH'), FAILURE
SQL> /
JOB SUBSTR(WHAT,1,23) TO_CH TO_CH FAILURES
--------- ----------------------- ----- ----- ---------
3 prueba_job; 04:37 07:05 0
CADA VEZ QUE SE EJECUTA UN JOB SI EL PROCESO A EJECUTAR TIENE UN ERROR ENFONTE LA COLUMNA FAILURES SE INCREMENTARA +1
CUANDO AL COLUMNA FAIULRES LLEGA A 16, EL JOB QUEDA INTERRUMPIDO, EN ESTE CASO REVISAR EL PROCESO DEL JOB ENVIADO
4) como ejecutar un job incondicionalmente
SQL> exec dbms_job.run(3);
PL/SQL procedure successfully completed.
y el tiempo programado al la siguiente ejecucion se movio...
SQL> select joB, substr(what,1,23), to_char(last_date,'HH:MI' ), TO_CHAR(NEXT_DATE,'HH:mi')
2 , FAILUREs
3 from user_jobs;
JOB SUBSTR(WHAT,1,23) TO_CH TO_CH FAILURES
--------- ----------------------- ----- ----- ---------
3 prueba_job; 04:59 05:29 0
5) como eliminar un job
SQL> exec dbms_job.remove(3);
PL/SQL procedure successfully completed.
SQL>
cuando se da shut down a la base de datos y el job se vuele a programas al tiempo del levantamiento de la instancia
saludos!!!
No soy muy experimentado, dir铆a casi novato pero yo utiliz贸 los jobs para ejecutar algunas cargas de informaci贸n. Hay varias formas de crearlos.
Yo los creo desde Warehouse Builder porque con esto es lo que trabajo pero estos jobs se guardan en la consola OMS en la parte donde dicen jobs, por esta parte es la otra que conozco de crearlos.
Espero te haya servido esta respuesta. Sino env铆ame un correo a mi direcci贸n para ver como m谩s te puedo ayudar a solucionar lo de los jobs..
Yo los creo desde Warehouse Builder porque con esto es lo que trabajo pero estos jobs se guardan en la consola OMS en la parte donde dicen jobs, por esta parte es la otra que conozco de crearlos.
Espero te haya servido esta respuesta. Sino env铆ame un correo a mi direcci贸n para ver como m谩s te puedo ayudar a solucionar lo de los jobs..
