DBMS_SCHEDULER – Alteração de atributo do JOB
Um exemplo simples de alteração de um atributo de um JOB via DBMS_SCHEDULER.
Bash
C:\Documents and Settings\jcorrea>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Sex Mar 6 10:34:37 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
idle> conn jccorrea@cmt
Informe a senha:
Conectado.
jccorrea@CMT> select repeat_interval from dba_scheduler_jos
2
jccorrea@CMT> select repeat_interval from dba_scheduler_jobs
2 where job_name='EXEC_PRC_SEARCH_DUP_TSN';
REPEAT_INTERVAL
------------------------------------------------------------------------------------------
----------
FREQ = WEEKLY ; INTERVAL= 1
jccorrea@CMT> begin
2 dbms_scheduler.set_scheduler_attribute('EXEC_PRC_SEARCH_DUP_TSN','REPEAT_INTERVAL','F
REQ = DAILY; interval=1');
3 end;
4 /
dbms_scheduler.set_scheduler_attribute('EXEC_PRC_SEARCH_DUP_TSN','REPEAT_INTERVAL','FREQ =
DAILY; interval=1');
*
ERRO na linha 2:
ORA-06550: line 2, column 1:
PLS-00306: wrong number or types of arguments in call to 'SET_SCHEDULER_ATTRIBUTE'
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
jccorrea@CMT> begin
2 dbms_scheduler.set_attribute('EXEC_PRC_SEARCH_DUP_TSN','REPEAT_INTERVAL','FREQ = DAIL
Y; interval=1');
3 end;
4 /
Procedimento PL/SQL concluÝdo com sucesso.
jccorrea@CMT> select repeat_interval from dba_scheduler_jobs
2 where job_name='EXEC_PRC_SEARCH_DUP_TSN';
REPEAT_INTERVAL
------------------------------------------------------------------------------------------
----------
FREQ = DAILY; interval=1
jccorrea@CMT>
Abs
Boa Julião, alias a Rampant tem um livro dedicado apenas a DBMS_SCHEDULER, tem muito assunto e muitas possibilidades, basta nós olharmos para os agendamentos feitos automaticamente pelo próprio produto oracle e o EXPDP que pode também ser executado via DBMS_SCHEDULER.
Abração Julião…
Nossa,então o cara é potente mesmo.
Eu acho que a idéia da Oracle algumas features é também minizar alguns esforços dos DBA’s,não somente ferrar a vida do DBA rs.
Sempre é bom agendar alguma coisa para fazer automatica e não ficar levantando de madrugada para fazer na mão.
Julio..boa tarde
Na verdade o que falta na maioria dos sites que explana a utilizar tais aplicativos como pacotes do Oracle e que para quem inicia como Programador PL/SQL ou DBA, sente grande dificuldade em entender como fazer acontecer sua tarefa propriamente dita..Vamos tomar como exemplo o DBMS_SCHEDULER esse pacote possui muitas switches de configuracao para se fazer ate criar um JOB, por isso muitos iniciantes ficam desesperados de como fazer, sendo que no site Oracle nao explica-se muita coisa e os famosos experts que se dizem pouco explanan o que realmente deve se fazer….Ja vi muitos livros nacionais e internacionais e cursos na propria Oracle e todos caem no mesmo erro continuo..Tem se pensar que quem esta fazendo pode ou nao ter conhecimento, por isso sao necessarios todos passos logicos ate a concretizacao do comando ou tarefa..Step-by-Step..valeu pelo seu exemplo..Nao quero aqui criticar ninguem, mas vamos ajudar quem realmente precisa..
Grato
Fernando
DBA Oracle/SQL
Bom dia a todos,
Voces saberiam dizer se o Banco controla as execuçoes dos agendamentos, ou seja, se um agendamento é executado a cada 3 minutos, e o mesmo esta em execuçao e supondo que a rotina de banco que ele chama ira demorar 5 minutos, outro agendamento é chamado para execuçao.
E se esta situaçao pode acontecer tem algum parametro a setar com o SYS.DBMS_SCHEDULER para isto nao acontecer.