Jovem, 

Deveria funcionar. Veja o exemplo abaixo:

SQL> desc jobs
 Nome                                      Nulo?    Tipo
 ----------------------------------------- -------- ----------------------------

 JOB_ID                                    NOT NULL VARCHAR2(10)
 JOB_TITLE                                 NOT NULL VARCHAR2(35)
 MIN_SALARY                                         NUMBER(6)
 MAX_SALARY                                         NUMBER(6)

SQL> CREATE MATERIALIZED VIEW LOG
  2      ON "HR"."JOBS"
  3  TABLESPACE "SYSTEM"
  4  WITH PRIMARY KEY
  5  INCLUDING NEW VALUES;

Log de view materializada criado.

SQL> create materialized view jobs_mv refresh fast on commit as select * from 
jobs;

View materializada criada.

SQL> select * from jobs;

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
AD_PRES    President                                20000      40000
AD_VP      Administration Vice President            15000      30000
AD_ASST    Administration Assistant                  3000       6000
FI_MGR     Finance Manager                           8200      16000
FI_ACCOUNT Accountant                                4200       9000
AC_MGR     Accounting Manager                        8200      16000
AC_ACCOUNT Public Accountant                         4200       9000
SA_MAN     Sales Manager                            10000      20000
SA_REP     Sales Representative                      6000      12000
PU_MAN     Purchasing Manager                        8000      15000
PU_CLERK   Purchasing Clerk                          2500       5500

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
ST_MAN     Stock Manager                             5500       8500
ST_CLERK   Stock Clerk                               2000       5000
SH_CLERK   Shipping Clerk                            2500       5500
IT_PROG    Programmer                                4000      10000
MK_MAN     Marketing Manager                         9000      15000
MK_REP     Marketing Representative                  4000       9000
HR_REP     Human Resources Representative            4000       9000
PR_REP     Public Relations Representative           4500      10500

19 linhas selecionadas.

SQL> select * from jobs_mv;

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
AD_PRES    President                                20000      40000
AD_VP      Administration Vice President            15000      30000
AD_ASST    Administration Assistant                  3000       6000
FI_MGR     Finance Manager                           8200      16000
FI_ACCOUNT Accountant                                4200       9000
AC_MGR     Accounting Manager                        8200      16000
AC_ACCOUNT Public Accountant                         4200       9000
SA_MAN     Sales Manager                            10000      20000
SA_REP     Sales Representative                      6000      12000
PU_MAN     Purchasing Manager                        8000      15000
PU_CLERK   Purchasing Clerk                          2500       5500

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
ST_MAN     Stock Manager                             5500       8500
ST_CLERK   Stock Clerk                               2000       5000
SH_CLERK   Shipping Clerk                            2500       5500
IT_PROG    Programmer                                4000      10000
MK_MAN     Marketing Manager                         9000      15000
MK_REP     Marketing Representative                  4000       9000
HR_REP     Human Resources Representative            4000       9000
PR_REP     Public Relations Representative           4500      10500

19 linhas selecionadas.

SQL> insert into jobs values('ESTAG','Estagiario',500,1500);

1 linha criada.

SQL> select * from jobs;

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
AD_PRES    President                                20000      40000
AD_VP      Administration Vice President            15000      30000
AD_ASST    Administration Assistant                  3000       6000
FI_MGR     Finance Manager                           8200      16000
FI_ACCOUNT Accountant                                4200       9000
AC_MGR     Accounting Manager                        8200      16000
AC_ACCOUNT Public Accountant                         4200       9000
SA_MAN     Sales Manager                            10000      20000
SA_REP     Sales Representative                      6000      12000
PU_MAN     Purchasing Manager                        8000      15000
PU_CLERK   Purchasing Clerk                          2500       5500

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
ST_MAN     Stock Manager                             5500       8500
ST_CLERK   Stock Clerk                               2000       5000
SH_CLERK   Shipping Clerk                            2500       5500
IT_PROG    Programmer                                4000      10000
MK_MAN     Marketing Manager                         9000      15000
MK_REP     Marketing Representative                  4000       9000
HR_REP     Human Resources Representative            4000       9000
PR_REP     Public Relations Representative           4500      10500
ESTAG      Estagiario                                 500       1500  

20 linhas selecionadas.

SQL> select * from jobs_mv;

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
AD_PRES    President                                20000      40000
AD_VP      Administration Vice President            15000      30000
AD_ASST    Administration Assistant                  3000       6000
FI_MGR     Finance Manager                           8200      16000
FI_ACCOUNT Accountant                                4200       9000
AC_MGR     Accounting Manager                        8200      16000
AC_ACCOUNT Public Accountant                         4200       9000
SA_MAN     Sales Manager                            10000      20000
SA_REP     Sales Representative                      6000      12000
PU_MAN     Purchasing Manager                        8000      15000
PU_CLERK   Purchasing Clerk                          2500       5500

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
ST_MAN     Stock Manager                             5500       8500
ST_CLERK   Stock Clerk                               2000       5000
SH_CLERK   Shipping Clerk                            2500       5500
IT_PROG    Programmer                                4000      10000
MK_MAN     Marketing Manager                         9000      15000
MK_REP     Marketing Representative                  4000       9000
HR_REP     Human Resources Representative            4000       9000
PR_REP     Public Relations Representative           4500      10500

19 linhas selecionadas.

SQL> commit;

ValidaþÒo completa.

SQL> select * from jobs_mv;

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
AD_PRES    President                                20000      40000
AD_VP      Administration Vice President            15000      30000
AD_ASST    Administration Assistant                  3000       6000
FI_MGR     Finance Manager                           8200      16000
FI_ACCOUNT Accountant                                4200       9000
AC_MGR     Accounting Manager                        8200      16000
AC_ACCOUNT Public Accountant                         4200       9000
SA_MAN     Sales Manager                            10000      20000
SA_REP     Sales Representative                      6000      12000
PU_MAN     Purchasing Manager                        8000      15000
PU_CLERK   Purchasing Clerk                          2500       5500

JOB_ID     JOB_TITLE                           MIN_SALARY MAX_SALARY
---------- ----------------------------------- ---------- ----------
ST_MAN     Stock Manager                             5500       8500
ST_CLERK   Stock Clerk                               2000       5000
SH_CLERK   Shipping Clerk                            2500       5500
IT_PROG    Programmer                                4000      10000
MK_MAN     Marketing Manager                         9000      15000
MK_REP     Marketing Representative                  4000       9000
HR_REP     Human Resources Representative            4000       9000
PR_REP     Public Relations Representative           4500      10500
ESTAG      Estagiario                                 500       1500

20 linhas selecionadas.

Qual a versão do banco de dados vc está utilizando? Este teste foi feito no 
9iR2 (9.2.0.1)

Abraços,

Wellerson

TalvezDemitre Col <[EMAIL PROTECTED]> escreveu:    Olá.
 
 Agradeço pela colaboração. Teoricamente, esta MV não deveria ter os dados 
atualizados após o commit?
 
 Fiz o seguinte teste:
  - Criei com a cláusula REFRESH FAST ON COMMIT
  - Atualizei um dado que constitui na MV 
  - Comitei
  - Consultei os dados da View. Estavam iguais ao momento anterior ao update. 
Porém, com o dbm_mview.refres(...), os dados foram atualizados. 
 
 Aonde eu posso mais procurar o que esteja causando algum problema para a não 
atualização da MV no momento do commit??
 
 Att
 
 Wellerson Leite de Araújo <[EMAIL PROTECTED]> escreveu:    Jovem,
  
  Esta sua atulização deve ser feita de maneira sincrona, certo?
  Bem... Vc deve criar a sua materialized view da seguinte forma:
  CREATE MATERIALIZED VIEW <nome> 
  REFRESH FAST ON COMMIT
  AS
  <select ...>
  
  Na tabela de origem, ou tabelas de origens deve ser criada um log de 
materialized view. Se vc quiser que ela seja utilizada para QUERY REWRITE basta 
de acrescentar esta clausula antes do AS. Neste exemplo a sua materialized view 
será atulizada toda vez que uma transação nas tabelas base for confirmada 
(commit).  Como todo commit fará com que a sua MV seja atualizada, cada 
atualização ficará mais rápida. Caso isso ainda não tenha o desempenho que vc 
deseja vc poderá acrescentar a cláusula de PARALLEL (DEGREE DEFAULT) ou 
PARALLEL (DEGREE <número de processos em paralelo>) antes do AS. Lembrando que 
a sua sessão deve aceitar DML em paralelo: ALTER SESSION ENABLE PARALLEL DML;
  
  
  Abraços,
  
  Wellerson
  
  
  Demitre Col <[EMAIL PROTECTED]> escreveu:    Bom dia.
   
   Por definição do sistema da empresa onde trabalho, uma determinada tabela de 
movimentação atualiza outra tabela de saldos via trigger.
   Visando melhorar isto, pensei em implementar uma Materialized View que desse 
a mesma visão da tabela de saldos, porém de modo mais fácil e automático. Criei 
uma MV log para a de saldos, e uma que mostre os dados que eu quero. Feito 
isto, não localizei em tutoriais um modo da segunda ser atualizada 
automaticamente. Isto não seria o problema, o caso é que, com mais de 1.000.000 
de registros, ela demora +- 20s para se atualizar. Eu gostaria que fosse mais 
rápido.
   
   Gostaria da sugestão dos colegas quanto à esta modificação.
   
   Att
   
    __________________________________________________
   Fale com seus amigos  de graça com o novo Yahoo! Messenger 
   http://br.messenger.yahoo.com/ 
   
   [As partes desta mensagem que não continham texto foram removidas]
   
     
  
  
  "Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até 
maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar..."
  (Legião Urbana)
  
  "As idéias estão no chão, você tropeça e acha a solução..."
  (Titãs)
   __________________________________________________
  Fale com seus amigos  de graça com o novo Yahoo! Messenger 
  http://br.messenger.yahoo.com/ 
  
  [As partes desta mensagem que não continham texto foram removidas]
  
    
 
  __________________________________________________
 Fale com seus amigos  de graça com o novo Yahoo! Messenger 
 http://br.messenger.yahoo.com/ 
 
 [As partes desta mensagem que não continham texto foram removidas]
 
   


"Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar 
o meu coração, que meu espírito ninguém vai conseguir quebrar..."
(Legião Urbana)

"As idéias estão no chão, você tropeça e acha a solução..."
(Titãs)
 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a