Re: [oracle_br] Re: Job de refresh de mviews

2016-03-31 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Correto... Se a criação de views materializadas é algo extremamente frequente 
(e que vale a pena, portanto, ser automatizada/facilitada, em especial em 
databases desenv, que não são rigorosamente controlados pelo DBA e portanto são 
os desenvolvedores que criam as views materializadas), o que vc pode fazer é 
instruir os desenvolvedores a criar a vm sem o NEXT, e depois chamarem uma 
Stored Procedure que vc criou, proc essa que recebe como Argumento o nome da Vm 
e a expressão de disparo E (via EXECUTE IMMEDIATE ou DBMS_SQL) cria o scheduler 
job apropriado... 
 
 []s
 
   Chiappa

Re: [oracle_br] Re: Job de refresh de mviews

2016-03-31 Por tôpico Roger Camatini rogerio.camat...@gmail.com [oracle_br]
No caso aqui, eu ja converti todos os database jobs para scheduler. A minha
preocupação era essa da criação de novas mviews pelo time de
desenvolvimento, pois as mviews já existentes estão com refresh pelo
schelduler jobs. Vou ter que conversar e alinhar com os developers essa
questão das novas mviews.


Atenciosamente,

Rogério Camatini


Em 31 de março de 2016 10:40, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Sem a menor dúvida, a tendência é essa, e é Claro que a Oracle tá aos
> poucos substituindo os JOBs internos por SCHEDULER JOBs (principalmente
> pela maior flexibilidade dos últimos), mas isso leva um tempo, sim ? Há
> muitos pontos aonde ocorrer essa substituição ...Não tem como o SCHEDULER
> JOB, que é uma feature introduzida no 10g, no 10.2.0.5 que vc tem já ter
> sido Completamente Substituído, não é ?
>  Mas se vc olhar nas versões que substituíram o 10g (ie, 11g e 12c) vc vai
> ver que uma LARGA PORÇÃO do trabalho já foi feita, a esmagadora maioria dos
> database jobs internos/não advindos de aplicação foram substituídos por
> scheduler jobs, mas não todos , ainda
>
>   []s
>
>  Chiappa
> 
>


Re: [oracle_br] Re: Job de refresh de mviews

2016-03-31 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Sem a menor dúvida, a tendência é essa, e é Claro que a Oracle tá aos poucos 
substituindo os JOBs internos por SCHEDULER JOBs (principalmente pela maior 
flexibilidade dos últimos), mas isso leva um tempo, sim ? Há muitos pontos 
aonde ocorrer essa substituição ...Não tem como o SCHEDULER JOB, que é uma 
feature introduzida no 10g, no 10.2.0.5 que vc tem já ter sido Completamente 
Substituído, não é ?
 Mas se vc olhar nas versões que substituíram o 10g (ie, 11g e 12c) vc vai ver 
que uma LARGA PORÇÃO do trabalho já foi feita, a esmagadora maioria dos 
database jobs internos/não advindos de aplicação foram substituídos por 
scheduler jobs, mas não todos , ainda
 
  []s
  
 Chiappa

Re: [oracle_br] Re: Job de refresh de mviews

2016-03-31 Por tôpico Roger Camatini rogerio.camat...@gmail.com [oracle_br]
Chiappa,

Com a introdução dessa funcionalidade de scheduler(jobs), é natural pensar
que os database jobs serão descontinuados futuramente, com relação a isso
acho uma falha grave a Oracle não ter pensado em substituir por job
scheduler o refresh da mview quando se cria a mesma com o start with..


Atenciosamente,

Rogério Camatini


Em 31 de março de 2016 09:19, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Nope, se vc consultar a documentação (mais especificamente o manual
> "Oracle Database SQL Reference" no capítulo de CREATE MATERIALIZED VIEW) vc
> verá que em START WITH e o NEXT ele ** exige **  expressões que retorne um
> datetime que será usada para disparar (e via DATABASE JOB) o refresh
> inicial E os próximos refreshs , ele NÃO TEM PARÂMETRO para vc indicar um
> SCHEDULER JOB, não...
>  veja que ** absolutamente Não É ** obrigatório vc o fazer, já que os
> DATABASE JOBs criados quando do CREATE MATERAIALIZED VIEW funcionam
> perfeitamente se é factível vc ter uma expressão datetime para controle,
> mas SE vc quiser mesmo passar a ter um SCHEDULER JOB (disparado de acordo
> com um Scheduler que vc já tenha, que seja) para o refresh, afaik vc terá
> que :
>
>  a. criar a view materializada SEM a cláusula de NEXT
>
>  b. criar um SCHEDULER JOB, associado ao SCHEDULER que vc já tem, sendo
> que esse scheduler job executa (num bloco PL/SQL que vc escreveria, afaik,
> via DBMS_REFRESH ) o refresh da vm desejada
>
>  vamos ver se alguém conhece alguma sintaxe não-documentada que permita o
> que vc quer, mas IIRC vc Não Vai ter Outra opção para fazer o que quer...
>
>  []s
>
>Chiappa
> 
>