Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRACTICAS.
TRABAJOS (JOBS).
job_queue_processes = 10
3. Eliminar el proceso de sistema operativo gestor de colas mediante la orden “kill”. ¿Qué
sucede?, ¿ha afectado a la instancia?, ¿se ha generado algún error en el fichero de
alertas?, ¿y alguna traza?.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00122: value '1020' for 'job_queue_processes' must be between '0' and
'1000'
MISC_ENV RAW(32)
INSTANCE NUMBER
DBMS_UTILITY.ANALYZE_SCHEMA
(rec_usuarios.username,'ESTIMATE',NULL,33);
update system.usuarios_estadisticas
set fecha=sysdate, error=null
where rowid=rec_usuarios.rowid;
exception
when others then
werror:=rpad(sqlerrm,80);
update system.usuarios_estadisticas
set error=werror, fecha=sysdate
where rowid=wrowid;
end;
END LOOP;
end analiza_usuarios;
/
DECLARE
v_numjob integer;
begin
dbms_job.submit(v_numjob,'SYSTEM.ANALIZA_USUARIOS;', SYSDATE, 'SYSDATE +
7');
commit;
DBMS_OUTPUT.PUT_LINE('Identificador de trabajo es: ' || v_numjob);
end;
/
SQL> @crea_trabajo1.sql
System altered.
begin
FOR rec_tables IN c_tablas LOOP
select count(*) into extensiones
from user_extents
where segment_name=rec_tables.table_name;
ocupacion:=(round(extensiones*100/maximo_extensiones));
END LOOP;
end chequear_tablas;
/
Table created.
SQL> @chequear_tablas.sql
Procedure created.
DECLARE
v_numjob integer;
begin
dbms_job.submit(v_numjob,'PRUEBA01.CHEQUEAR_TABLAS;', SYSDATE, 'SYSDATE +
60/1440');
commit;
DBMS_OUTPUT.PUT_LINE('Identificador de trabajo es: ' || v_numjob);
end;
/
SQL> @crea_trabajo2.sql
begin
FOR rec_usuarios IN c_usuarios LOOP
END LOOP;
commit;
end monitorizar_usuarios;
/
Table created.
Table created.
Enter password:
Connected.
SQL> show user
USER is "SYS"
Grant succeeded.
SQL> @monitorizar_usuarios.sql
Procedure created.
DECLARE
v_numjob integer;
begin
dbms_job.submit(v_numjob,'SYSTEM.MONITORIZAR_USUARIOS;', SYSDATE, 'SYSDATE
+ 5/1440');
commit;
DBMS_OUTPUT.PUT_LINE('Identificador de trabajo es: ' || v_numjob);
end;
/
SQL> @crea_trabajo3.sql
12.Consultar todos los trabajos definidos para el usuario SYSTEM, obteniendo el numero de
trabajo, fecha de la próxima ejecución, intervalo, numero de fallos producidos, estado
(“broken” o no) y su definición.
*
ERROR at line 1:
ORA-23421: job number 4 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 529
ORA-06512: at "SYS.DBMS_JOB", line 171
ORA-06512: at line 1
16.Marcar el trabajo, propiedad del usuario “prueba01”, que realiza el chequeo de tablas
como “broken”. Consultar su estado en la vista user_jobs.
17.Intentar marcar como “broken” el trabajo que realiza la monitorización de usuarios. ¿Qué
sucede al realizarlo?, ¿quién es su poseedor?.
*
ERROR at line 1:
ORA-23421: job number 4 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 529
ORA-06512: at "SYS.DBMS_JOB", line 245
ORA-06512: at line 1
20.Forzar la ejecución inmediata del trabajo que realiza el chequeo de ocupación de tablas.
¿Conectado como que usuario debe realizarse?.
*
ERROR at line 1:
ORA-23421: job number 3 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 529
ORA-06512: at "SYS.DBMS_JOB", line 171
ORA-06512: at line 1
no rows selected