Como refrescar vistas materializadas

Llevo con un problema hace días y por más que busco y miro en foros no lo consigo solucionar, el tema es:
Intento refresccar una vista materializada desde otro esquema distinto en la que esta, es decir, intento que la refresque otro usuario.
He dado a ese usuario este privilegio
GRANT ALTER ANY MATERIALIZED VIEW TO user2 -- siendo user2 el otro usuario.
La vista materializada esta en el esquema user1
bueno, cuando intento refrescarla de esta forma:
DBMS_MVIEW.REFRESH ('vistaM');
Me da este error:
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 794
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 851
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 832
ORA-06512: at line 2

1 respuesta

Respuesta
1
Se me hace que no tien privilegios sobre la tabla base, prueba darle explícitamente desde el User1 un GRANT SELECT sobre la tabla en cuestión o bien un GRANT SELECT ANY TABLE si no funciono lo anterior.
Hola,
Ante todo muchas gracias por tu pronta respuesta.
Creo que user2 si tiene grant de select sobre la tabla base, de todas formas lo comprobaré y te comentare algo.
Si eso no funciona se te ocurre porque puede venir el problema.
Muchas gracias por tu ayuda.
Un saludo
La verdad que no se me ocurre otra cosa, pero hay muchos de esos casos donde se requiere privilegios explícitos asignados a los usuarios y casos donde los privs vía rol no funcionan, por eso me inclino a buscarle la vuelta por ahí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas