Re: [oracle_br] Materialized View
*OBS*: A MV não se pode mudar o nome da MV, pois é usada em centenas de lugares na aplicação. Em Terça-feira, 17 de Maio de 2016 14:56, "Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]" escreveu: Senhores, bom dia. ** Oracle 11.2.0.4 EE. Alguns desenvolvedores estão testando recriar uma view materializada que precisa ser modificada. Consultando a view dba_objects com o nome da MV, temos: SQL> SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME = 'XUXA' Que me retorna duas linhas: Uma linha com o tipo de objeto **MV** e a outra linha do tipo **TABLE**. Para alterar o código do view, o desenvolvedor dropou e recriou a view, segue: SQL> DROP MATERIALIZED VIEW XUXA; SQL> CREATE MATERIALIZED VIEW XUXA REFRESH FAST ON DEMAND WITH PRIMARY KEY AS SELECT COL1, COL2, COL3 FROM XUXA; ORA-00955: nome já está sendo usado por um objeto existente ** Minha primeira dúvida é a seguinte: Como é que poderia existir em minha base anteriormente, e que estava funcionando, uma MV que continha o mesmo nome de uma tabela e que essa mesma tabela fazia parte da consulta da MV? Olhando pelo lado lógico do problema (até onde eu sei), uma materialized view apenas guarda o metadados (definição da consulta, período de atualização, tipo de atualização, etc), e quando uma MV é criada, o RDBMS Oracle, implicitamente, cria uma tabela "por baixo" que é justamente aonde o RDBMS Oracle irá buscar os dados. Pesquisando mais um pouco, percebi que existe uma forma de criar uma view materializada com o mesmo nome de uma tabela, mas que essa tabela não pode ser usada na mesma consulta da MV, o que não é o meu caso. Estou precisando de algumas dicas em relação a esse problema que estou enfrentando, não posso deixar passar alguns scripts que já estão prontos para serem aplicados em produção antes de estar bem seguro em relação a esse problema. #yiv0888797259 #yiv0888797259 -- #yiv0888797259ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv0888797259 #yiv0888797259ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv0888797259 #yiv0888797259ygrp-mkp #yiv0888797259hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv0888797259 #yiv0888797259ygrp-mkp #yiv0888797259ads {margin-bottom:10px;}#yiv0888797259 #yiv0888797259ygrp-mkp .yiv0888797259ad {padding:0 0;}#yiv0888797259 #yiv0888797259ygrp-mkp .yiv0888797259ad p {margin:0;}#yiv0888797259 #yiv0888797259ygrp-mkp .yiv0888797259ad a {color:#ff;text-decoration:none;}#yiv0888797259 #yiv0888797259ygrp-sponsor #yiv0888797259ygrp-lc {font-family:Arial;}#yiv0888797259 #yiv0888797259ygrp-sponsor #yiv0888797259ygrp-lc #yiv0888797259hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv0888797259 #yiv0888797259ygrp-sponsor #yiv0888797259ygrp-lc .yiv0888797259ad {margin-bottom:10px;padding:0 0;}#yiv0888797259 #yiv0888797259actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv0888797259 #yiv0888797259activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv0888797259 #yiv0888797259activity span {font-weight:700;}#yiv0888797259 #yiv0888797259activity span:first-child {text-transform:uppercase;}#yiv0888797259 #yiv0888797259activity span a {color:#5085b6;text-decoration:none;}#yiv0888797259 #yiv0888797259activity span span {color:#ff7900;}#yiv0888797259 #yiv0888797259activity span .yiv0888797259underline {text-decoration:underline;}#yiv0888797259 .yiv0888797259attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv0888797259 .yiv0888797259attach div a {text-decoration:none;}#yiv0888797259 .yiv0888797259attach img {border:none;padding-right:5px;}#yiv0888797259 .yiv0888797259attach label {display:block;margin-bottom:5px;}#yiv0888797259 .yiv0888797259attach label a {text-decoration:none;}#yiv0888797259 blockquote {margin:0 0 0 4px;}#yiv0888797259 .yiv0888797259bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv0888797259 .yiv0888797259bold a {text-decoration:none;}#yiv0888797259 dd.yiv0888797259last p a {font-family:Verdana;font-weight:700;}#yiv0888797259 dd.yiv0888797259last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv0888797259 dd.yiv0888797259last p span.yiv0888797259yshortcuts {margin-right:0;}#yiv0888797259 div.yiv0888797259attach-table div div a {text-decoration:none;}#yiv0888797259 div.yiv0888797259attach-table {width:400px;}#yiv0888797259 div.yiv0888797259file-title a, #yiv0888797259 div.yiv0888797259file-title a:active, #yiv0888797259 div.yiv0888797259file-title a:hover, #yiv0888797259 div.yiv0888797259file-title a:visited {text-decoration:none;}#yiv0888797259 div.yiv0888797259photo-title a, #yiv0888797259 div.yiv0888797259photo-title a:active, #yiv0888797259 div.yiv0888797259photo-title a:hover, #yiv0888797259 div.yiv0888797259photo-title a:visited {text-decoration:none;}#yiv0888797259 div#yiv0888797259ygrp-ml
[oracle_br] Materialized View
Senhores, bom dia. ** Oracle 11.2.0.4 EE. Alguns desenvolvedores estão testando recriar uma view materializada que precisa ser modificada. Consultando a view dba_objects com o nome da MV, temos: SQL> SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME = 'XUXA' Que me retorna duas linhas: Uma linha com o tipo de objeto **MV** e a outra linha do tipo **TABLE**. Para alterar o código do view, o desenvolvedor dropou e recriou a view, segue: SQL> DROP MATERIALIZED VIEW XUXA; SQL> CREATE MATERIALIZED VIEW XUXA REFRESH FAST ON DEMAND WITH PRIMARY KEY AS SELECT COL1, COL2, COL3 FROM XUXA; ORA-00955: nome já está sendo usado por um objeto existente ** Minha primeira dúvida é a seguinte: Como é que poderia existir em minha base anteriormente, e que estava funcionando, uma MV que continha o mesmo nome de uma tabela e que essa mesma tabela fazia parte da consulta da MV? Olhando pelo lado lógico do problema (até onde eu sei), uma materialized view apenas guarda o metadados (definição da consulta, período de atualização, tipo de atualização, etc), e quando uma MV é criada, o RDBMS Oracle, implicitamente, cria uma tabela "por baixo" que é justamente aonde o RDBMS Oracle irá buscar os dados. Pesquisando mais um pouco, percebi que existe uma forma de criar uma view materializada com o mesmo nome de uma tabela, mas que essa tabela não pode ser usada na mesma consulta da MV, o que não é o meu caso. Estou precisando de algumas dicas em relação a esse problema que estou enfrentando, não posso deixar passar alguns scripts que já estão prontos para serem aplicados em produção antes de estar bem seguro em relação a esse problema.
Re: [oracle_br] Materialized View X Scheduler Job
Já fiz. obrigado [cid:CF2D4CAA-1EDE-487F-9BA6-7E1D4E599908] [cid:AA3281D4-9DF4-449D-96A3-BF0DB384D64B] From: Rodrigo Mufalani mailto:rodr...@mufalani.com.br>> Reply-To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br@yahoogrupos.com.br>" mailto:oracle_br@yahoogrupos.com.br>> Date: quarta-feira, 18 de julho de 2012 16:00 To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br@yahoogrupos.com.br>" mailto:oracle_br@yahoogrupos.com.br>> Subject: Re: [oracle_br] Materialized View X Scheduler Job Alexandre, Só ajusta o horário e a frequencia... que eu peguei uma minha aqui de exemplo... Ok? O GUOB será no dia 11/08/2012 faça a sua inscrição em www.guob.com.br Atenciosamente, Rodrigo Mufalani Oracle Ace Member http://www.mufalani.com.br Rodrigo Valeu. Funcionou. [cid:A613D270-13A6-4E0E-8CBF-B7B47BE01E88] [cid:29382225-BE9C-4776-92C9-A1EB6BC71C0E] From: Rodrigo Mufalani mailto:rodrigo%40mufalani.com.br><mailto:rodr...@mufalani.com.br<mailto:rodrigo%40mufalani.com.br>>> Reply-To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br%40yahoogrupos.com.br><mailto:oracle_br@yahoogrupos.com.br<mailto:oracle_br%40yahoogrupos.com.br>>" mailto:oracle_br%40yahoogrupos.com.br><mailto:oracle_br@yahoogrupos.com.br<mailto:oracle_br%40yahoogrupos.com.br>>> Date: quarta-feira, 18 de julho de 2012 15:23 To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br%40yahoogrupos.com.br><mailto:oracle_br@yahoogrupos.com.br<mailto:oracle_br%40yahoogrupos.com.br>>" mailto:oracle_br%40yahoogrupos.com.br><mailto:oracle_br@yahoogrupos.com.br<mailto:oracle_br%40yahoogrupos.com.br>>> Subject: Re: [oracle_br] Materialized View X Scheduler Job 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.00 -02:00','/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- 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- 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] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Materialized View X Scheduler Job
Alexandre, Só ajusta o horário e a frequencia... que eu peguei uma minha aqui de exemplo... Ok? O GUOB será no dia 11/08/2012 faça a sua inscrição em www.guob.com.br Atenciosamente, Rodrigo Mufalani Oracle Ace Member http://www.mufalani.com.br Rodrigo Valeu. Funcionou. [cid:A613D270-13A6-4E0E-8CBF-B7B47BE01E88] [cid:29382225-BE9C-4776-92C9-A1EB6BC71C0E] From: Rodrigo Mufalani mailto:rodr...@mufalani.com.br>> Reply-To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br@yahoogrupos.com.br>" mailto:oracle_br@yahoogrupos.com.br>> Date: quarta-feira, 18 de julho de 2012 15:23 To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br@yahoogrupos.com.br>" mailto:oracle_br@yahoogrupos.com.br>> Subject: Re: [oracle_br] Materialized View X Scheduler Job 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.00 -02:00','/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- 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- 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] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Materialized View X Scheduler Job
Rodrigo Valeu. Funcionou. [cid:A613D270-13A6-4E0E-8CBF-B7B47BE01E88] [cid:29382225-BE9C-4776-92C9-A1EB6BC71C0E] From: Rodrigo Mufalani mailto:rodr...@mufalani.com.br>> Reply-To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br@yahoogrupos.com.br>" mailto:oracle_br@yahoogrupos.com.br>> Date: quarta-feira, 18 de julho de 2012 15:23 To: "oracle_br@yahoogrupos.com.br<mailto:oracle_br@yahoogrupos.com.br>" mailto:oracle_br@yahoogrupos.com.br>> Subject: Re: [oracle_br] Materialized View X Scheduler Job 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.00 -02:00','/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- 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- 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] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Materialized View X Scheduler Job
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.00 -02:00','/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- 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- 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]
[oracle_br] Materialized View
Olá pessoal, Algumas pessoas me questionaram a respeito de visão materializada que permite adicionar/atualizar registro indiferente do lado Master ou Slave. Eu já trabalhei com a replicação do Master replicar para outro banco via MV, mas permitir manutenção de registro em ambos os dados, eu desconheço. Alguém já viu isso com MV?? Se puder compartilhar, agradeço. Abraço Alex [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Materialized View
opa consegui aqui, foi só adicionar a MV no SITE2 msmo abçs - Original Message - From: Willian Frasson To: oracle_br@yahoogrupos.com.br Sent: Wednesday, June 18, 2008 3:39 PM Subject: [oracle_br] Materialized View Dae pessoal boa tarde, alguém ae já usou uma Materialized View fazendo replicação para DOIS SITES diferentes ex: MASTER-> TABELA CLIENTES SITE1-> TABELA CLIENTES SITE1->TABELA CLIENTES No caso tenho para uma só, vaso alguém queira pegar a ideia tb ai, em uma mesma MLOG irá fazer a replicação? Já que dai penso assim o SITE1 iria pegar os dados, e o SITE2 ficaria desatualizado? Abçs Segue script --Criacao dos logs no site master(DESENV):create materialized view log on SCOTT.EMP tablespace USERS with primary key; --Criacao do database link no site snap(BASE): create database link DESENV connect to SCOTT identified by tiger using 'DESENV'; --Efetua a criação do snapshot no site snap(BASE): create snapshot SCOTT.EMP_MV tablespace USERS using index tablespace USERS refresh complete with primary key as select * from [EMAIL PROTECTED]; --Efetuar a criação do job de replicação(BASE): begin dbms_refresh.make(name=>'REFRESH_SCOTT_5M', list=>'', next_date=>SYSDATE, interval=>'sysdate+60/(60*24)', push_deferred_rpc=>TRUE, refresh_after_errors=>TRUE); end; --Adicionar os snaps no grupo de replicação(BASE): begin dbms_refresh.add(name=>'REFRESH_SCOTT_5M',list=>'SCOTT.EMP_MV', lax=>TRUE); end; --Alter os snaps para refresh fast(BASE): alter snapshot SCOTT.EMP_MV refresh fast; --Insert de teste(DESENV) INSERT INTO EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) VALUES ('9096','TESTE2','TESTE','9090','10/05/2008','800','800','20'); COMMIT; --Efetuar um teste de replicação(BASE): begin dbms_refresh.refresh('"SCOTT"."REFRESH_SCOTT_5M"'); end; --Faz Select verificando a replicação(BASE) SELECT * FROM EMP_MV [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 3198 (20080618) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Materialized View
opss coloquei errado ali embaixo é SITE2: MASTER-> TABELA CLIENTES SITE1-> TABELA CLIENTES SITE2->TABELA CLIENTES - Original Message - From: Willian Frasson To: oracle_br@yahoogrupos.com.br Sent: Wednesday, June 18, 2008 3:39 PM Subject: [oracle_br] Materialized View Dae pessoal boa tarde, alguém ae já usou uma Materialized View fazendo replicação para DOIS SITES diferentes ex: MASTER-> TABELA CLIENTES SITE1-> TABELA CLIENTES SITE1->TABELA CLIENTES No caso tenho para uma só, vaso alguém queira pegar a ideia tb ai, em uma mesma MLOG irá fazer a replicação? Já que dai penso assim o SITE1 iria pegar os dados, e o SITE2 ficaria desatualizado? Abçs Segue script --Criacao dos logs no site master(DESENV):create materialized view log on SCOTT.EMP tablespace USERS with primary key; --Criacao do database link no site snap(BASE): create database link DESENV connect to SCOTT identified by tiger using 'DESENV'; --Efetua a criação do snapshot no site snap(BASE): create snapshot SCOTT.EMP_MV tablespace USERS using index tablespace USERS refresh complete with primary key as select * from [EMAIL PROTECTED]; --Efetuar a criação do job de replicação(BASE): begin dbms_refresh.make(name=>'REFRESH_SCOTT_5M', list=>'', next_date=>SYSDATE, interval=>'sysdate+60/(60*24)', push_deferred_rpc=>TRUE, refresh_after_errors=>TRUE); end; --Adicionar os snaps no grupo de replicação(BASE): begin dbms_refresh.add(name=>'REFRESH_SCOTT_5M',list=>'SCOTT.EMP_MV', lax=>TRUE); end; --Alter os snaps para refresh fast(BASE): alter snapshot SCOTT.EMP_MV refresh fast; --Insert de teste(DESENV) INSERT INTO EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) VALUES ('9096','TESTE2','TESTE','9090','10/05/2008','800','800','20'); COMMIT; --Efetuar um teste de replicação(BASE): begin dbms_refresh.refresh('"SCOTT"."REFRESH_SCOTT_5M"'); end; --Faz Select verificando a replicação(BASE) SELECT * FROM EMP_MV [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 3198 (20080618) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Materialized View
Dae pessoal boa tarde, alguém ae já usou uma Materialized View fazendo replicação para DOIS SITES diferentes ex: MASTER-> TABELA CLIENTES SITE1-> TABELA CLIENTES SITE1->TABELA CLIENTES No caso tenho para uma só, vaso alguém queira pegar a ideia tb ai, em uma mesma MLOG irá fazer a replicação? Já que dai penso assim o SITE1 iria pegar os dados, e o SITE2 ficaria desatualizado? Abçs Segue script --Criacao dos logs no site master(DESENV):create materialized view log on SCOTT.EMP tablespace USERS with primary key; --Criacao do database link no site snap(BASE): create database link DESENV connect to SCOTT identified by tiger using 'DESENV'; --Efetua a criação do snapshot no site snap(BASE): create snapshot SCOTT.EMP_MV tablespace USERS using index tablespace USERS refresh complete with primary key as select * from [EMAIL PROTECTED]; --Efetuar a criação do job de replicação(BASE): begin dbms_refresh.make(name=>'REFRESH_SCOTT_5M', list=>'', next_date=>SYSDATE, interval=>'sysdate+60/(60*24)', push_deferred_rpc=>TRUE, refresh_after_errors=>TRUE); end; --Adicionar os snaps no grupo de replicação(BASE): begin dbms_refresh.add(name=>'REFRESH_SCOTT_5M',list=>'SCOTT.EMP_MV', lax=>TRUE); end; --Alter os snaps para refresh fast(BASE): alter snapshot SCOTT.EMP_MV refresh fast; --Insert de teste(DESENV) INSERT INTO EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) VALUES ('9096','TESTE2','TESTE','9090','10/05/2008','800','800','20'); COMMIT; --Efetuar um teste de replicação(BASE): begin dbms_refresh.refresh('"SCOTT"."REFRESH_SCOTT_5M"'); end; --Faz Select verificando a replicação(BASE) SELECT * FROM EMP_MV [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Materialized view versus Trigger
Olá! Alguém tem alguma documentação sobre o que compensa mais usar para fazer uma replicação de dados entre esquemas: view materialida ou trigger? Desde já obg!
Re: [oracle_br] Materialized view gerando archivelog
cade o nologging do código ? - Original Message From: wnetto27 <[EMAIL PROTECTED]> To: oracle_br@yahoogrupos.com.br Sent: Monday, July 2, 2007 11:40:00 AM Subject: [oracle_br] Materialized view gerando archivelog Pessoal , estou com um problema com uma view materializada que gera 4 a seis archivelogs na hora de sua atualização.A mview foi criada com o parametro de nologging , tenho criado varias delas e nenhuma gera tanto archive como essa.Segue o código para verificação. create materialized view MVLTP refresh force on demand start with to_date('02-07-2007 11:53:39', 'dd-mm- hh24:mi:ss') next sysdate + 30/1440 as select distinct ltpcd as mvltpcd , ltpprdcd as mvltpprdcd , ltplis as mvltplis , ltpdtval as mvltpdtval from tbltp at Wagner >Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- >O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos Got a little couch potato? Check out fun summer activities for kids. http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz
[oracle_br] Materialized view gerando archivelog
Pessoal , estou com um problema com uma view materializada que gera 4 a seis archivelogs na hora de sua atualização.A mview foi criada com o parametro de nologging , tenho criado varias delas e nenhuma gera tanto archive como essa.Segue o código para verificação. create materialized view MVLTP refresh force on demand start with to_date('02-07-2007 11:53:39', 'dd-mm- hh24:mi:ss') next sysdate + 30/1440 as select distinct ltpcd as mvltpcd , ltpprdcd as mvltpprdcd , ltplis as mvltplis , ltpdtval as mvltpdtval from tbltp at Wagner
[oracle_br] Materialized View
Boa Tarde Amigos, Gostaria de saber se tem como fazer refresh online de uma view materializada?? Cada vez que uma tabela recebe uma informação nova o registro é atualizado na view materializada amarrada a ela?? Se possivel, alguém poderia me enviar um exemplo disso?? Obrigado... André Campos [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/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 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
Re: [oracle_br] Materialized View - limitações
Olá Reginaldo, Já verifiquei unicidade de nome sim e o erro continua o mesmo :-) Luciana Em 12/09/06, rflribeiro <[EMAIL PROTECTED]> escreveu: > > Sem querer "chover no molhado", você já tentou outro nome p/ a view além > de vw_teste? O erro é bem claro: ORA-00955: name is already used by an > existing object. > > Reginaldo Ribeiro - DBA Oracle > http://www.dbcom.com.br > > [EMAIL PROTECTED] > skype: dbcom_it_experts > 55 11 92344290 > > > > Luciana Camargo wrote: > > Pessoal, > > > >Estou precisando unificar vários schemas em apenas um e estou > tentando > > utilizar a materialized view. > >A regra para montar a consulta só permite que a MV seja COMPLETE. > > Até ai > > tudo bem. > >A principio eu pensei em fazer tudos os schemas com "UNION ALL", > > mas como > > existem muitos schemas, a MV dá problema de criação. > >Existe mesmo uma limitação da quantidade de "UNION ALL" na criação > > de MV? > > > >Para tentar contornar, tentei criar várias MVs para depois criar uma > > visão convencional unindo essas várias MV, mas dá erro também: > > > > SQL> create view vw_teste > > 2 (col1, col2, col3) > > 3 as > > 4 select col1, col2, col3 from MV_TESTE_A > > 5 union all > > 6 select col1, col2, col3 from MV_TESTE_B; > > > > e dá o erro: > > select col1, col2, col3 from MV_TESTE_B; > > * > > ERROR at line 6: > > ORA-00955: name is already used by an existing object > > > > > >Alguém teria uma idéia de como resolver? > >Preciso de uma visão única (no final) que consiga fazer UNION ALL (de > 1 > > em 1 hora) para 120 schemas. > > > >Obrigada > >Luciana > > [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/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 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
Re: [oracle_br] Materialized View - limitaçõe s
Sem querer "chover no molhado", você já tentou outro nome p/ a view além de vw_teste? O erro é bem claro: ORA-00955: name is already used by an existing object. Reginaldo Ribeiro - DBA Oracle http://www.dbcom.com.br [EMAIL PROTECTED] skype: dbcom_it_experts 55 11 92344290 Luciana Camargo wrote: > Pessoal, > >Estou precisando unificar vários schemas em apenas um e estou tentando > utilizar a materialized view. >A regra para montar a consulta só permite que a MV seja COMPLETE. > Até ai > tudo bem. >A principio eu pensei em fazer tudos os schemas com "UNION ALL", > mas como > existem muitos schemas, a MV dá problema de criação. >Existe mesmo uma limitação da quantidade de "UNION ALL" na criação > de MV? > >Para tentar contornar, tentei criar várias MVs para depois criar uma > visão convencional unindo essas várias MV, mas dá erro também: > > SQL> create view vw_teste > 2 (col1, col2, col3) > 3 as > 4 select col1, col2, col3 from MV_TESTE_A > 5 union all > 6 select col1, col2, col3 from MV_TESTE_B; > > e dá o erro: > select col1, col2, col3 from MV_TESTE_B; > * > ERROR at line 6: > ORA-00955: name is already used by an existing object > > >Alguém teria uma idéia de como resolver? >Preciso de uma visão única (no final) que consiga fazer UNION ALL (de 1 > em 1 hora) para 120 schemas. > >Obrigada >Luciana -- 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/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 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
[oracle_br] Materialized View - limitações
Pessoal, Estou precisando unificar vários schemas em apenas um e estou tentando utilizar a materialized view. A regra para montar a consulta só permite que a MV seja COMPLETE. Até ai tudo bem. A principio eu pensei em fazer tudos os schemas com "UNION ALL", mas como existem muitos schemas, a MV dá problema de criação. Existe mesmo uma limitação da quantidade de "UNION ALL" na criação de MV? Para tentar contornar, tentei criar várias MVs para depois criar uma visão convencional unindo essas várias MV, mas dá erro também: SQL> create view vw_teste 2 (col1, col2, col3) 3 as 4 select col1, col2, col3 from MV_TESTE_A 5 union all 6 select col1, col2, col3 from MV_TESTE_B; e dá o erro: select col1, col2, col3 from MV_TESTE_B; * ERROR at line 6: ORA-00955: name is already used by an existing object Alguém teria uma idéia de como resolver? Preciso de uma visão única (no final) que consiga fazer UNION ALL (de 1 em 1 hora) para 120 schemas. Obrigada Luciana [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/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 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
[oracle_br] MATERIALIZED VIEW
Pessoal alguém já teve este problema:? Ao tentar criar a view retorna erro devido ao dblink mas dou um select * from [EMAIL PROTECTED] e retorna normalmente. Já conferi todos dblinks e estão ok. Tnsnames e estão ok. E a prova que está conectando é o * from que faço SQL> CREATE MATERIALIZED VIEW TMI.CFG_APLICATIVOS 2 REFRESH FAST ON DEMAND 3 WITH ROWID 4 NEXT NULL 5 AS 6 SELECT 7 CAPL.CODIGO CODIGO, 8 CAPL.TIPO TIPO, 9 CAPL.INDIC_OBJETO_VARIAVEL INDIC_OBJETO_VARIAVEL, 10 CAPL.COMANDO COMANDO, 11 CAPL.PARM_CODIGO PARM_CODIGO, 12 CAPL.PARM_SIST_SIGLA PARM_SIST_SIGLA 13 FROM [EMAIL PROTECTED] CAPL; FROM [EMAIL PROTECTED] CAPL * ERRO na linha 13: ORA-04052: error occurred when looking up remote object [EMAIL PROTECTED] ORA-00604: error occurred at recursive SQL level 1 ORA-12154: TNS:could not resolve service name [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/oracle_br@yahoogrupos.com.br/ --__ 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
Re: [oracle_br] Materialized View
Jovem, Se a sua materialized view possuir uma função de grupo no SELECT, o que é o caso, vc não conseguirá fazer um REFRESH FAST. Abraços, Wellerson Demitre Col <[EMAIL PROTECTED]> escreveu:Boa tarde. Há um certo tempo, postei uma questão que foi respondida. Agora, continuando em testes nas MVs, deparei com a seguinte situação: Criei uma MV usando a cláusula REFRESH FAST ON COMMIT porém, ao comitar dados em uma das tabelas usadas pela MV, não vejo os dados nela, exceto se eu mandar atualizar os dados. Se puderem me indicar o que estou fazendo de errado, agradeço. Banco 9.2.0.4 Segue abaixo script drop materialized view log on tabela1 / create materialized view log on tabela1 with rowid ( nulote, cdmovto, cdpro, dtmovto, cdccu, nuarmaz, qtmovto ) including new values / drop materialized view log on tabela2 / create materialized view log on tabela2 with rowid (cdmovto, idoper ) including new values / drop materialized view mv1 / create materialized view mv1 refresh fast on commit with primary key as select tabela1.cdpro, tabela1.nuarmaz, tabela1.cdccu, to_char(tabela1.dtmovto,'mm') as dtam, sum(decode(tabela2.idoper,'+',1,'-', -1)*tabela1.qtmovto) as saldo from tabela1, tabela2 where tabela1.cdmovto = tabela2.cdmovto group by tabela1.cdpro, tabela1.nuarmaz, tabela1.cdccu, to_char(tabela1.dtmovto,'mm') / drop materialized view mv2 / create materialized view mv2 refresh fast on commit with primary key as select cdpro, nuarmaz, nulote, sum(decode(tabela2.idoper,'+',1,'-', -1)*qtmovto) as saldo from tabela1, tabela2 where tabela1.cdmovto = tabela2.cdmovto and tabela1.nulote is not null group by cdpro, nuarmaz, nulote / begin dbms_mview.refresh( list => 'dono.mv1', method => '?' ); dbms_mview.refresh( list => 'dono.mv2', method => '?' ); end; / - Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! [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) - Yahoo! Search Música para ver e ouvir: You're Beautiful, do James Blunt [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/oracle_br@yahoogrupos.com.br/ --__ 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
[oracle_br] Materialized View
Boa tarde. Há um certo tempo, postei uma questão que foi respondida. Agora, continuando em testes nas MVs, deparei com a seguinte situação: Criei uma MV usando a cláusula REFRESH FAST ON COMMIT porém, ao comitar dados em uma das tabelas usadas pela MV, não vejo os dados nela, exceto se eu mandar atualizar os dados. Se puderem me indicar o que estou fazendo de errado, agradeço. Banco 9.2.0.4 Segue abaixo script drop materialized view log on tabela1 / create materialized view log on tabela1 with rowid ( nulote, cdmovto, cdpro, dtmovto, cdccu, nuarmaz, qtmovto ) including new values / drop materialized view log on tabela2 / create materialized view log on tabela2 with rowid (cdmovto, idoper ) including new values / drop materialized view mv1 / create materialized view mv1 refresh fast on commit with primary key as select tabela1.cdpro, tabela1.nuarmaz, tabela1.cdccu, to_char(tabela1.dtmovto,'mm') as dtam, sum(decode(tabela2.idoper,'+',1,'-', -1)*tabela1.qtmovto) as saldo from tabela1, tabela2 where tabela1.cdmovto = tabela2.cdmovto group by tabela1.cdpro, tabela1.nuarmaz, tabela1.cdccu, to_char(tabela1.dtmovto,'mm') / drop materialized view mv2 / create materialized view mv2 refresh fast on commit with primary key as select cdpro, nuarmaz, nulote, sum(decode(tabela2.idoper,'+',1,'-', -1)*qtmovto) as saldo from tabela1, tabela2 where tabela1.cdmovto = tabela2.cdmovto and tabela1.nulote is not null group by cdpro, nuarmaz, nulote / begin dbms_mview.refresh( list => 'dono.mv1', method => '?' ); dbms_mview.refresh( list => 'dono.mv2', method => '?' ); end; / - Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! [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/oracle_br@yahoogrupos.com.br/ --__ 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
Re: [oracle_br] Materialized View
Jovem, Deveria funcionar. Veja o exemplo abaixo: SQL> desc jobs Nome Nulo?Tipo - JOB_IDNOT 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_PRESPresident2 4 AD_VP Administration Vice President15000 3 AD_ASSTAdministration Assistant 3000 6000 FI_MGR Finance Manager 8200 16000 FI_ACCOUNT Accountant4200 9000 AC_MGR Accounting Manager8200 16000 AC_ACCOUNT Public Accountant 4200 9000 SA_MAN Sales Manager1 2 SA_REP Sales Representative 6000 12000 PU_MAN Purchasing Manager8000 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 Clerk2500 5500 IT_PROGProgrammer4000 1 MK_MAN Marketing Manager 9000 15000 MK_REP Marketing Representative 4000 9000 HR_REP Human Resources Representative4000 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_PRESPresident2 4 AD_VP Administration Vice President15000 3 AD_ASSTAdministration Assistant 3000 6000 FI_MGR Finance Manager 8200 16000 FI_ACCOUNT Accountant4200 9000 AC_MGR Accounting Manager8200 16000 AC_ACCOUNT Public Accountant 4200 9000 SA_MAN Sales Manager1 2 SA_REP Sales Representative 6000 12000 PU_MAN Purchasing Manager8000 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 Clerk2500 5500 IT_PROGProgrammer4000 1 MK_MAN Marketing Manager 9000 15000 MK_REP Marketing Representative 4000 9000 HR_REP Human Resources Representative4000 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_PRESPresident2 4 AD_VP Administration Vice President15000 3 AD_ASSTAdministration Assistant 3000 6000 FI_MGR Finance Manager 8200 16000 FI_ACCOUNT Accountant4200 9000 AC_MGR Accounting Manager8200 16000 AC_ACCOUNT Public Accountant 4200 9000 SA_MAN Sales Manager1 2 SA_REP Sales Representative 6000 12000 PU_MAN Purchasing Manager8000 15000 PU_CLERK Purchasing Clerk
Re: [oracle_br] Materialized View
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 REFRESH FAST ON COMMIT AS 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 ) 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] -- 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/oracle_br@yahoogrupos.com.br/ --__ 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
Re: [oracle_br] Materialized View
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 REFRESH FAST ON COMMIT AS 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 ) 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] -- 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/oracle_br@yahoogrupos.com.br/ --__ 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
[oracle_br] Materialized View
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] -- 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/oracle_br@yahoogrupos.com.br/ --__ 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
[oracle_br] Materialized View
Pessoal, to com um probleminha... Na hora da criação de uma view materializada estou tendo aquela mensagem cansativa até de ler: ORA-12015: cannot create a fast refresh materialized view from a complex query é assim: CREATE MATERIALIZED VIEW LOG ON ceq_ficha_custo_medio WITH ROWID, PRIMARY KEY (IDF_POSICAO_ESTOQUE, DTA_LANCAMENTO) INCLUDING NEW VALUES / CREATE MATERIALIZED VIEW CEQ_VW_CUSTO_MEDIO BUILD IMMEDIATE REFRESH FAST ON COMMIT AS SELECT IDF_POSICAO_ESTOQUE, MAX(DTA_LANCAMENTO) AS DTA_LANCAMENTO FROM CEQ_FICHA_CUSTO_MEDIO GROUP BY IDF_POSICAO_ESTOQUE / alguém pode me ajudar já procurei em vários lugares (google é amigo, mas google não soube responder..) Abraço a todos Leandro Webmail - http://www.ondarpc.com.br/ -- 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/oracle_br@yahoogrupos.com.br/ --__ 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
Re: [oracle_br] Materialized View ????
Seguinte Jonathan, a view materializada com atualização on commit só pode ser criada com uma única tabela. Alem disso deve ser criado um log de view materializada para a tabela em questão. Atenciosamente, Rogério Nascimento Jonathan Barbosa <[EMAIL PROTECTED]> escreveu: Olha que interessante!! Alguém poderia me explicar as regras usadas pelo Oracle nas views materializadas ON COMMIT? SQL> CREATE MATERIALIZED VIEW TESTE2 2 refresh complete on commit 3AS 4 select last_name from employees; select last_name from employees * ERROR at line 4: ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view SQL> CREATE MATERIALIZED VIEW TESTE2 2 refresh complete on commit 3 AS 4 select e.last_name from employees e,departments d; Materialized view created. - Original Message - From: "Jonathan Barbosa" <[EMAIL PROTECTED]> To: Sent: Friday, July 15, 2005 4:52 PM Subject: Re: [oracle_br] Materialized View > Não sei porque o Oracle não está permitindo a criação desta view > materializada, talvez seja devido ao número de tabelas ou outra coisa que > não saberia te explicar. Podes usar a opção ON DEMAND ou START WITH e NEXT > para especificar um tempo de atualização. > Agora, esta consulta retorna um número enorme de dados como em data > warehouses? Pelo número de tabelas especificadas a opção on COMMIT poderá > até trazer problemas de performance se alguma das tabelas mencionadas é > acessada com uma certa frequência. Estes dados serão requeridos com que > frequência?As tabelas bases são atualizadas de quanto em quanto tempo? > > > Jonathan > > > > - Original Message - > From: "Welvis Douglas Silva Moreto" <[EMAIL PROTECTED]> > To: > Sent: Friday, July 15, 2005 1:54 PM > Subject: Re: [oracle_br] Materialized View > > >> >> >> ELE DA UM O SEGUINTE ERRO QUANDO USO ESSA OPÇÃO. >> >> ORA-12054: cannot set the ON COMMIT refresh attribute >> for the materialized view >> >> ESSE É O SELECT QUE ESTOU USANSDO >> >> SELECT PROD_ORIG.ID_PRODUTO ID_PRODUTOORIG, >> >> DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) >> ID_PRODUTODEST, >> >> DECODE(PCON.ID_PRODUTODESTINO,NULL,1,PCON.PC_CONVERSAO) >>PC_CONVERSAO, >> PROD.ID_CATEGORIACOML, >> PROD.ID_GRUPOPRODTRIB, >> PROD.ID_PRODUTOFAMILIA, >> PROD.ID_CLASSETRANSPORTE, >> PROD.ID_PRODUTOPESO, >> PROD.ID_CLASSEPRODPCP, >> PROD.ID_PRODUTO_NCM, >> PROD.ID_CLASSESEGURO, >> PROD.ID_GRUPOCONTPROD, >> PROD.ID_PRODUTOAFV, >> PROD.ID_UNIDADE, >> PROD.DS_PRODUTO, >> PROD.PS_KGS_LIQ, >> PROD.VOLUME_M3, >> PROD.BO_GENERICO, >> PROD.NR_UNIDADES, >> PROD.PS_KGS_BRUTO, >> PROD.CD_PESQAUXILIAR, >> PROD.QT_PRODUTO_PALLET, >> PROD.TP_ORIGEM_MERCADORIA, >> PROD.DH_CADASTRO, >> PROD.BO_ATIVO, >> PROD.CD_DATAFLEX, >> PROD.DH_ULT_ALTER, >> PROD.CM_COMPRIMENTO, >> PROD.QT_VOLUMES, >> PROD.CM_LARGURA, >> PROD.CM_ALTURA, >> PROD.TP_PRODUTO, >> UNID.ABREVIATURA, >> UNID.DS_UNIDADE, >> CATG.DS_CATEGORIACOML, >> TPPR.ID_TIPOPRODUTO, >> TPPR.DS_TIPOPRODUTO >> FROM PRODUTO PROD, >> PRODUTO PROD_ORIG, >> PRODUTOCONVERSAO PCON, >> UNIDADE UNID, >> CATEGORIACOMLCATG, >> TIPOPRODUTO TPPR >> WHERE PROD.ID_PRODUTO = >> DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) >> AND PROD_ORIG.ID_PRODUTO = >> PCON.ID_PRODUTOORIGEM(+) >> AND PCON.BO_PADRAO_REL(+) = 'S' >> AND UNID.ID_UNIDADE = PROD.ID_UNIDADE >> AND CATG.ID_CATEGORIACOML = PROD.ID_CATEGORIACOML >> AND TPPR.ID_TIPOPRODUTO = CATG.ID_TIPOPRODUTO >> / >> >> --- Jonathan Barbosa <[EMAIL PROTECTED]> escreveu: >> >> >> - >> Use a opção ON COMMIT >> >> CREATE MATERIALIZED VIEW teste >> REFRESH FAST ON COMMIT >> . >> . >>. >> >> >> Jonathan >> >> >> - Original Message - >> From: "Welvis Douglas Silva Moreto" >> <[EMAIL PROTECTED]> >> To: >> Sent: Friday, July 15, 2005 12:06 PM >> Subject: [oracle_br] Materialized View ??
Re: [oracle_br] Materialized View ????
Boa noite Welvis! Use a package DBMS_MVIEW Ex: DBMS_MVIEW.REFRESH('NOME_VIEW'); Welvis Douglas Silva Moreto <[EMAIL PROTECTED]> escreveu: Estou criando uma view Materialized View e no select contem varias tabelas com join como que faço pra dar um refresh na view quando ha alteração em qualquer uma da tabelas. Obrigado Welvis Douglas __ Converse com seus amigos em tempo real com o Yahoo! Messenger http://br.download.yahoo.com/messenger/ __ Pesquisar Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] __ http://br.groups.yahoo.com/group/oracle_br/ __ - 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 Termos do Serviço do Yahoo!. __ Converse com seus amigos em tempo real com o Yahoo! Messenger http://br.download.yahoo.com/messenger/ [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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
Re: [oracle_br] Materialized View ????
Olha que interessante!! Alguém poderia me explicar as regras usadas pelo Oracle nas views materializadas ON COMMIT? SQL> CREATE MATERIALIZED VIEW TESTE2 2 refresh complete on commit 3AS 4 select last_name from employees; select last_name from employees * ERROR at line 4: ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view SQL> CREATE MATERIALIZED VIEW TESTE2 2 refresh complete on commit 3 AS 4 select e.last_name from employees e,departments d; Materialized view created. - Original Message - From: "Jonathan Barbosa" <[EMAIL PROTECTED]> To: Sent: Friday, July 15, 2005 4:52 PM Subject: Re: [oracle_br] Materialized View > Não sei porque o Oracle não está permitindo a criação desta view > materializada, talvez seja devido ao número de tabelas ou outra coisa que > não saberia te explicar. Podes usar a opção ON DEMAND ou START WITH e NEXT > para especificar um tempo de atualização. > Agora, esta consulta retorna um número enorme de dados como em data > warehouses? Pelo número de tabelas especificadas a opção on COMMIT poderá > até trazer problemas de performance se alguma das tabelas mencionadas é > acessada com uma certa frequência. Estes dados serão requeridos com que > frequência?As tabelas bases são atualizadas de quanto em quanto tempo? > > > Jonathan > > > > - Original Message - > From: "Welvis Douglas Silva Moreto" <[EMAIL PROTECTED]> > To: > Sent: Friday, July 15, 2005 1:54 PM > Subject: Re: [oracle_br] Materialized View > > >> >> >> ELE DA UM O SEGUINTE ERRO QUANDO USO ESSA OPÇÃO. >> >> ORA-12054: cannot set the ON COMMIT refresh attribute >> for the materialized view >> >> ESSE É O SELECT QUE ESTOU USANSDO >> >> SELECT PROD_ORIG.ID_PRODUTO ID_PRODUTOORIG, >> >> DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) >> ID_PRODUTODEST, >> >> DECODE(PCON.ID_PRODUTODESTINO,NULL,1,PCON.PC_CONVERSAO) >>PC_CONVERSAO, >> PROD.ID_CATEGORIACOML, >> PROD.ID_GRUPOPRODTRIB, >> PROD.ID_PRODUTOFAMILIA, >> PROD.ID_CLASSETRANSPORTE, >> PROD.ID_PRODUTOPESO, >> PROD.ID_CLASSEPRODPCP, >> PROD.ID_PRODUTO_NCM, >> PROD.ID_CLASSESEGURO, >> PROD.ID_GRUPOCONTPROD, >> PROD.ID_PRODUTOAFV, >> PROD.ID_UNIDADE, >> PROD.DS_PRODUTO, >> PROD.PS_KGS_LIQ, >> PROD.VOLUME_M3, >> PROD.BO_GENERICO, >> PROD.NR_UNIDADES, >> PROD.PS_KGS_BRUTO, >> PROD.CD_PESQAUXILIAR, >> PROD.QT_PRODUTO_PALLET, >> PROD.TP_ORIGEM_MERCADORIA, >> PROD.DH_CADASTRO, >> PROD.BO_ATIVO, >> PROD.CD_DATAFLEX, >> PROD.DH_ULT_ALTER, >> PROD.CM_COMPRIMENTO, >> PROD.QT_VOLUMES, >> PROD.CM_LARGURA, >> PROD.CM_ALTURA, >> PROD.TP_PRODUTO, >> UNID.ABREVIATURA, >> UNID.DS_UNIDADE, >> CATG.DS_CATEGORIACOML, >> TPPR.ID_TIPOPRODUTO, >> TPPR.DS_TIPOPRODUTO >> FROM PRODUTO PROD, >> PRODUTO PROD_ORIG, >> PRODUTOCONVERSAO PCON, >> UNIDADE UNID, >> CATEGORIACOMLCATG, >> TIPOPRODUTO TPPR >> WHERE PROD.ID_PRODUTO = >> DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) >> AND PROD_ORIG.ID_PRODUTO = >> PCON.ID_PRODUTOORIGEM(+) >> AND PCON.BO_PADRAO_REL(+) = 'S' >> AND UNID.ID_UNIDADE = PROD.ID_UNIDADE >> AND CATG.ID_CATEGORIACOML = PROD.ID_CATEGORIACOML >> AND TPPR.ID_TIPOPRODUTO = CATG.ID_TIPOPRODUTO >> / >> >> --- Jonathan Barbosa <[EMAIL PROTECTED]> escreveu: >> >> >> - >> Use a opção ON COMMIT >> >> CREATE MATERIALIZED VIEW teste >> REFRESH FAST ON COMMIT >> . >> . >>. >> >> >> Jonathan >> >> >> - Original Message - >> From: "Welvis Douglas Silva Moreto" >> <[EMAIL PROTECTED]> >> To: >> Sent: Friday, July 15, 2005 12:06 PM >> Subject: [oracle_br] Materialized View >> >> >>> Estou criando uma view Materialized View >>> >>> e no select contem varias tabelas com join como que >>> faço pra dar um refresh na view quando ha alteração
Re: [oracle_br] Materialized View ????
Não sei porque o Oracle não está permitindo a criação desta view materializada, talvez seja devido ao número de tabelas ou outra coisa que não saberia te explicar. Podes usar a opção ON DEMAND ou START WITH e NEXT para especificar um tempo de atualização. Agora, esta consulta retorna um número enorme de dados como em data warehouses? Pelo número de tabelas especificadas a opção on COMMIT poderá até trazer problemas de performance se alguma das tabelas mencionadas é acessada com uma certa frequência. Estes dados serão requeridos com que frequência?As tabelas bases são atualizadas de quanto em quanto tempo? Jonathan - Original Message - From: "Welvis Douglas Silva Moreto" <[EMAIL PROTECTED]> To: Sent: Friday, July 15, 2005 1:54 PM Subject: Re: [oracle_br] Materialized View > > > ELE DA UM O SEGUINTE ERRO QUANDO USO ESSA OPÇÃO. > > ORA-12054: cannot set the ON COMMIT refresh attribute > for the materialized view > > ESSE É O SELECT QUE ESTOU USANSDO > > SELECT PROD_ORIG.ID_PRODUTO ID_PRODUTOORIG, > > DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) > ID_PRODUTODEST, > > DECODE(PCON.ID_PRODUTODESTINO,NULL,1,PCON.PC_CONVERSAO) >PC_CONVERSAO, > PROD.ID_CATEGORIACOML, > PROD.ID_GRUPOPRODTRIB, > PROD.ID_PRODUTOFAMILIA, > PROD.ID_CLASSETRANSPORTE, > PROD.ID_PRODUTOPESO, > PROD.ID_CLASSEPRODPCP, > PROD.ID_PRODUTO_NCM, > PROD.ID_CLASSESEGURO, > PROD.ID_GRUPOCONTPROD, > PROD.ID_PRODUTOAFV, > PROD.ID_UNIDADE, > PROD.DS_PRODUTO, > PROD.PS_KGS_LIQ, > PROD.VOLUME_M3, > PROD.BO_GENERICO, > PROD.NR_UNIDADES, > PROD.PS_KGS_BRUTO, > PROD.CD_PESQAUXILIAR, > PROD.QT_PRODUTO_PALLET, > PROD.TP_ORIGEM_MERCADORIA, > PROD.DH_CADASTRO, > PROD.BO_ATIVO, > PROD.CD_DATAFLEX, > PROD.DH_ULT_ALTER, > PROD.CM_COMPRIMENTO, > PROD.QT_VOLUMES, > PROD.CM_LARGURA, > PROD.CM_ALTURA, > PROD.TP_PRODUTO, > UNID.ABREVIATURA, > UNID.DS_UNIDADE, > CATG.DS_CATEGORIACOML, > TPPR.ID_TIPOPRODUTO, > TPPR.DS_TIPOPRODUTO > FROM PRODUTO PROD, > PRODUTO PROD_ORIG, > PRODUTOCONVERSAO PCON, > UNIDADE UNID, > CATEGORIACOMLCATG, > TIPOPRODUTO TPPR > WHERE PROD.ID_PRODUTO = > DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) > AND PROD_ORIG.ID_PRODUTO = > PCON.ID_PRODUTOORIGEM(+) > AND PCON.BO_PADRAO_REL(+) = 'S' > AND UNID.ID_UNIDADE = PROD.ID_UNIDADE > AND CATG.ID_CATEGORIACOML = PROD.ID_CATEGORIACOML > AND TPPR.ID_TIPOPRODUTO = CATG.ID_TIPOPRODUTO > / > > --- Jonathan Barbosa <[EMAIL PROTECTED]> escreveu: > > > - > Use a opção ON COMMIT > > CREATE MATERIALIZED VIEW teste > REFRESH FAST ON COMMIT > . > . >. > > > Jonathan > > > - Original Message - > From: "Welvis Douglas Silva Moreto" > <[EMAIL PROTECTED]> > To: > Sent: Friday, July 15, 2005 12:06 PM > Subject: [oracle_br] Materialized View > > >> Estou criando uma view Materialized View >> >> e no select contem varias tabelas com join como que >> faço pra dar um refresh na view quando ha alteração > em >> qualquer uma da tabelas. >> >> >> Obrigado >> >> >> Welvis Douglas >> >> __ >> Converse com seus amigos em tempo real com o Yahoo! > Messenger >> http://br.download.yahoo.com/messenger/ >> >> >> > __ >> >> Pesquisar Histórico: >> > http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ >> Moderadores da lista:Dorian Anderson Soutto > [EMAIL PROTECTED] >> Fernanda Damous [EMAIL PROTECTED] >> Alisson Aguiar [EMAIL PROTECTED] >> > __ >> http://br.groups.yahoo.com/group/oracle_br/ >> > __ >> Links do Yahoo! Grupos >> >> >> >> >> >> >> >> > > > > > __ > > Pesquisar Histórico: > http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > Moderadores da lista:Dorian Anderson Soutto > [EMAIL PROTEC
Re: [oracle_br] Materialized View ????
ELE DA UM O SEGUINTE ERRO QUANDO USO ESSA OPÇÃO. ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view ESSE É O SELECT QUE ESTOU USANSDO SELECT PROD_ORIG.ID_PRODUTO ID_PRODUTOORIG, DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) ID_PRODUTODEST, DECODE(PCON.ID_PRODUTODESTINO,NULL,1,PCON.PC_CONVERSAO) PC_CONVERSAO, PROD.ID_CATEGORIACOML, PROD.ID_GRUPOPRODTRIB, PROD.ID_PRODUTOFAMILIA, PROD.ID_CLASSETRANSPORTE, PROD.ID_PRODUTOPESO, PROD.ID_CLASSEPRODPCP, PROD.ID_PRODUTO_NCM, PROD.ID_CLASSESEGURO, PROD.ID_GRUPOCONTPROD, PROD.ID_PRODUTOAFV, PROD.ID_UNIDADE, PROD.DS_PRODUTO, PROD.PS_KGS_LIQ, PROD.VOLUME_M3, PROD.BO_GENERICO, PROD.NR_UNIDADES, PROD.PS_KGS_BRUTO, PROD.CD_PESQAUXILIAR, PROD.QT_PRODUTO_PALLET, PROD.TP_ORIGEM_MERCADORIA, PROD.DH_CADASTRO, PROD.BO_ATIVO, PROD.CD_DATAFLEX, PROD.DH_ULT_ALTER, PROD.CM_COMPRIMENTO, PROD.QT_VOLUMES, PROD.CM_LARGURA, PROD.CM_ALTURA, PROD.TP_PRODUTO, UNID.ABREVIATURA, UNID.DS_UNIDADE, CATG.DS_CATEGORIACOML, TPPR.ID_TIPOPRODUTO, TPPR.DS_TIPOPRODUTO FROM PRODUTO PROD, PRODUTO PROD_ORIG, PRODUTOCONVERSAO PCON, UNIDADE UNID, CATEGORIACOMLCATG, TIPOPRODUTO TPPR WHERE PROD.ID_PRODUTO = DECODE(PCON.ID_PRODUTODESTINO,NULL,PROD_ORIG.ID_PRODUTO,PCON.ID_PRODUTODESTINO) AND PROD_ORIG.ID_PRODUTO = PCON.ID_PRODUTOORIGEM(+) AND PCON.BO_PADRAO_REL(+) = 'S' AND UNID.ID_UNIDADE = PROD.ID_UNIDADE AND CATG.ID_CATEGORIACOML = PROD.ID_CATEGORIACOML AND TPPR.ID_TIPOPRODUTO = CATG.ID_TIPOPRODUTO / --- Jonathan Barbosa <[EMAIL PROTECTED]> escreveu: - Use a opção ON COMMIT CREATE MATERIALIZED VIEW teste REFRESH FAST ON COMMIT . . . Jonathan - Original Message - From: "Welvis Douglas Silva Moreto" <[EMAIL PROTECTED]> To: Sent: Friday, July 15, 2005 12:06 PM Subject: [oracle_br] Materialized View > Estou criando uma view Materialized View > > e no select contem varias tabelas com join como que > faço pra dar um refresh na view quando ha alteração em > qualquer uma da tabelas. > > > Obrigado > > > Welvis Douglas > > __ > Converse com seus amigos em tempo real com o Yahoo! Messenger > http://br.download.yahoo.com/messenger/ > > > __ > > Pesquisar Histórico: > http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] > Fernanda Damous [EMAIL PROTECTED] > Alisson Aguiar [EMAIL PROTECTED] > __ > http://br.groups.yahoo.com/group/oracle_br/ > __ > Links do Yahoo! Grupos > > > > > > > > __ Pesquisar Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] __ http://br.groups.yahoo.com/group/oracle_br/ __ - 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 Termos do Serviço do Yahoo!. ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ __ Pesquisar Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] __ http://br.groups.yahoo.com/group/oracle_br/ __ 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
Re: [oracle_br] Materialized View ????
Use a opção ON COMMIT CREATE MATERIALIZED VIEW teste REFRESH FAST ON COMMIT . . . Jonathan - Original Message - From: "Welvis Douglas Silva Moreto" <[EMAIL PROTECTED]> To: Sent: Friday, July 15, 2005 12:06 PM Subject: [oracle_br] Materialized View > Estou criando uma view Materialized View > > e no select contem varias tabelas com join como que > faço pra dar um refresh na view quando ha alteração em > qualquer uma da tabelas. > > > Obrigado > > > Welvis Douglas > > __ > Converse com seus amigos em tempo real com o Yahoo! Messenger > http://br.download.yahoo.com/messenger/ > > > __ > > Pesquisar Histórico: > http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] > Fernanda Damous [EMAIL PROTECTED] > Alisson Aguiar [EMAIL PROTECTED] > __ > http://br.groups.yahoo.com/group/oracle_br/ > __ > Links do Yahoo! Grupos > > > > > > > > __ Pesquisar Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] __ http://br.groups.yahoo.com/group/oracle_br/ __ 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
[oracle_br] Materialized View ????
Estou criando uma view Materialized View e no select contem varias tabelas com join como que faço pra dar um refresh na view quando ha alteração em qualquer uma da tabelas. Obrigado Welvis Douglas __ Converse com seus amigos em tempo real com o Yahoo! Messenger http://br.download.yahoo.com/messenger/ __ Pesquisar Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] __ http://br.groups.yahoo.com/group/oracle_br/ __ 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