Página 1 de 1

Criação de uma view materializada com database link

Enviado: Qua, 17 Out 2012 3:19 pm
por Robson Costa
Estou tentando criar uma view materializada que consulta uma tabela que é acessada via um database link. Gostaria de que esta view fosse atualizada de 5 em 5 minutos. O comando que eu estou usando é:
CREATE MATERIALIZED VIEW MVIEW1
BUILD IMMEDIATE USING INDEX REFRESH complete ON DEMAND
start with sysdate
next sysdate + 5/1440
USING DEFAULT LOCAL ROLLBACK SEGMENT
using enforced constraints
ENABLE QUERY REWRITE AS
SELECT SE.NR1,SE.NR2,SS.NM
FROM ADM.tab1@db2ROB SE,
ADM.tab2@db2ROB SS
WHERE SE.CD_E = ... AND
SE.CD_P = ... AND
SE.CD_SIT = SS.CD_SIT AND
SS.CD_SIT NOT IN (..,..);

Quando executo dá o erro ORA-01031, porém o usuário tem grant para criar view materializada.
Versão do oracle dos 2 bancos de dados é 11G.

Re: Criação de uma view materializada com database link

Enviado: Qui, 18 Out 2012 10:40 am
por stcoutinho
Oi Robson,

Se você está criando a Materialized View com o usuário onde este objeto deverá ser criado, serão necessários os seguintes privilégios:

- CREATE MATERIALIZED VIEW
- CREATE TABLE
- CREATE ANY TABLE
- O usuário de conexão do DBLINK deve ter privilégios p/ fazer SELECT nas tabelas do servidor remoto;
- No caso acima, execute somente o SELECT da querie da MV para ver se não ocorre nenhum erro;

Maiores detalhes podem ser obtidos na documentação da ORACLE: http://docs.oracle.com/cd/B19306_01/ser ... s_6002.htm

Abraços,

Sergio Coutinho