Boa tarde,
Testa assim...
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name
=> 'SYSTEM.NOME_DO_SEU_JOB'
,start_date =>
TO_TIMESTAMP_TZ('2012/01/21 20:35:11.000000 -02:00','yyyy/mm/dd hh24:mi:ss.ff
tzh:tzm')
,repeat_interval => 'FREQ=WEEKLY'
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,job_action => 'begin
dbms_refresh.refresh(''"DM_AGRIC"."AGR_PRODUCOES_MV"'');
end;'
,comments => ' Algum
comentário sobre a rotina...'
);
END;
/
O GUOB
será no dia 11/08/2012 faça sua inscrição em www.guob.com.br
Atenciosamente,
Rodrigo Mufalani
Oracle Ace Member
http://www.mufalani.com.br
Temos algumas MVs que são atualizadas por Jobs conforme o exemplo abaixo:
begin
sys.dbms_job.submit(job => :job,
what =>
'dbms_refresh.refresh(''"DM_AGRIC"."AGR_PRODUCOES_MV"'');',
next_date => to_date('19-07-2012 03:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval
=> 'trunc(sysdate)+1.125');
commit;
end;
/
Temos migrado nossos
dbmsjobs para Scheduler_Jobs , porem esses referentes a MVs não conseguimos
fazer funcionar.
É possível colocar a MV para ser atualizada via scheduller Jobs? Se sim, tem
algum segredo? O que
estamos tentando
fazer é o que segue
begin
sys.dbms_scheduler.create_job(job_name =>
'DM_AGRIC.AGR_PRODUCOES_MV',
job_type => 'STORED_PROCEDURE',
job_action
=> 'dbms_refresh.refresh(''DM_AGRIC.AGR_PRODUCOES_MV'')',
start_date
=> to_date('18-07-2012 02:00:00', 'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Daily',
end_date =>
to_date(null),
job_class => 'DBMS_JOB$',
enabled => true,
auto_drop
=> false,
comments => '');
end;
/
Nosso banco é o 11G las release.
Retorna o erro ORA-27452 , mas garanto que a MV em
questão existe no banco.
[cid:9015F81F-1F1D-49EC-9994-0ACEF7845BA3]
[cid:F6DD4024-FF08-4B1F-9260-E61B8D4F9124]
[As partes desta mensagem que não continham texto
foram removidas]
[As partes desta mensagem que não continham texto foram removidas]