Criação de uma view materializada com database link

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

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.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

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
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 19 visitantes