Refresh any snapshot by any user in a procedure
1 I created this procedure SYS:
CREATE OR REPLACE PROCEDURE SYS.SLU_RFR_MAT_VIW_PRC AS
BEGIN
EXECUTE IMMEDIATE 'GRANT ALTER ANY MATERIALIZED VIEW TO TST';
DBMS_SNAPSHOT.REFRESH ('PROFILE.PRO_EVENT_ITEMS_COURSE_V_SS', 'C');;
EXECUTE IMMEDIATE 'REVOKE ALTER ANY MATERIALIZED VIEW FROM TST';
END;
/
CREATE OR REPLACE PUBLIC SYNONYM SLU_RFR_MAT_VIW_PRC FOR SYS.SLU_RFR_MAT_VIW_PRC;
GRANT ALL ON SLU_RFR_MAT_VIW_PRC TO PUBLIC;