Re: [oracle_br] Agendamento View Materializada

2016-06-22 Por tôpico Neto pr neto...@gmail.com [oracle_br]
Rafael
Primeiro, acredito que voce tem que informar aqui,  qual o critério para
atualização das V. Materializadas (por dia, horas, por commit na tabelas,
exclusão de dados) ?

Já criei v. materializadas que na sua criação, indicam qual a forma de
atualização, exemplo (atualização a cada commit na tabela):

---

create materialized view mv2
  refresh fast on commit
  ENABLE QUERY REWRITE
  as
select
  t_key ,
  count(*)   as row_count ,
  count(amt) as amt_count
from t2
group by t_key
;
--

Segue abaixo algumas possibilidades para indicar a forma de atualização via
cabeçalho:

create materialized view nome_visão
 [build [deferred | immediate]]
 [refresh [complete | fast | force]
 [on commit | on demand]]
 [start with date] [next date]]
 [for update]
 [[enable | disable] query rewrite]
  as select 

 Um item importante é deixar o comando:  ENABLE QUERY REWRITE  ... que
permite ao otimizador reescrever queries, que podem se beneficiar da V.
Materializada.

Neto

Em 22 de junho de 2016 17:36, Rafael Mendonca raffaell.t...@yahoo.com
[oracle_br]  escreveu:

>
>
> Cenário:
>
> Oracle 11.2.0.4 Enteprise Edition + grid infraestructure(ASM) standalone
> server
> AIX 64 bits
>
>
> Senhores, tenho algumas dúvidas em relação aos agendamentos das views
> materializadas e gostaria da ajuda de vocês.
>
> Estou em um cliente que possui centenas de  MVs. Para **CADA** MV os
> desenvolvedores deste cliente pede para o DBA criar um JOB, um PROGRAM, um
> SCHEDULER para executar uma PROCEDURE com o código de REFRESH da MV, ou
> seja, todos os refreshes de MV's são feitas por DBMS_SCHEDULER.
>
> Como nunca tive muito convívio com MV's, sei que existe a possibilidade no
> próprio cabeçalho da view materializada ser configurado o período de
> atualização de acordo com a sua necessidade: Por commit, por demanda, por
> agendamento (horario) etc, o TIPO de ATUALIZAÇÃO: FAST, FULL etc.
>
> O que eu quero evitar em minha base de dados é que o CLIENTE perca a mania
> de estar sempre precisando criar um JOB/PROGRAM/SCHEDULER/PROCEDURE para o
> agendamento do REFRESH da view e comece a ser feito no próprio cabeçalho da
> view.
>
> a) Vocês seguem quais padrões para tal?
>
> b) Existe a possibilidade de realizar um REFRESH no modo FAST sendo uma
> view do tipo complexa?
>
> c) Vocês concordam com a minha ideia de evitar essa gama de criação de
> objetos para uma view ser atualizada?
>
>
> Fico no aguardo dos comentários.
>
> :)
>
>
>
>
>
>
>
>
>
> 
>


[oracle_br] Agendamento View Materializada

2016-06-22 Por tôpico Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
Cenário:
Oracle 11.2.0.4 Enteprise Edition + grid infraestructure(ASM) standalone server 
AIX 64 bits

Senhores, tenho algumas dúvidas em relação aos agendamentos das views 
materializadas e gostaria da ajuda de vocês.
Estou em um cliente que possui centenas de  MVs. Para **CADA** MV os 
desenvolvedores deste cliente pede para o DBA criar um JOB, um PROGRAM, um 
SCHEDULER para executar uma PROCEDURE com o código de REFRESH da MV, ou seja, 
todos os refreshes de MV's são feitas por DBMS_SCHEDULER.
Como nunca tive muito convívio com MV's, sei que existe a possibilidade no 
próprio cabeçalho da view materializada ser configurado o período de 
atualização de acordo com a sua necessidade: Por commit, por demanda, por 
agendamento (horario) etc, o TIPO de ATUALIZAÇÃO: FAST, FULL etc.
O que eu quero evitar em minha base de dados é que o CLIENTE perca a mania de 
estar sempre precisando criar um JOB/PROGRAM/SCHEDULER/PROCEDURE para o 
agendamento do REFRESH da view e comece a ser feito no próprio cabeçalho da 
view.
a) Vocês seguem quais padrões para tal?
b) Existe a possibilidade de realizar um REFRESH no modo FAST sendo uma view do 
tipo complexa?  

c) Vocês concordam com a minha ideia de evitar essa gama de criação de objetos 
para uma view ser atualizada?

Fico no aguardo dos comentários.
:)