ORA-23404 refresh group does not exist Cause: A refresh group name was given that is not in SYS.RGROUP$. Action: Provide a refresh group name that is in SYS.RGROUP$ or DBS_RGROUP.
Reference: Oracle Documentation
Example:
Today I faced this error on my DB, as I was trying to refresh a MVIEW using DBMS_REFRESH.REFRESH
- EXEC DBMS_REFRESH.REFRESH('MYMVIEW');
But when I explorered and find DBMS_REFRESH.REFRESH refreshes a refresh group.
So I canged my statemanet to
- EXEC DBMS_MVIEW.REFRESH('MYMVIEW');
and it worked !!!
Another way is to make a Refresh Group first and then Refresh it using DBMS_REFRESH.REFRESH as
- EXEC DBMS_REFRESH.MAKE(NAME=>'MY_GRP', LIST=>'MYMVIEW', NEXT_DATE => SYSDATE, INTERVAL => 'NULL');
- EXEC DBMS_REFRESH.REFRESH('MY_GRP');
You Said "But when I explorered and find DBMS_REFRESH.REFRESH Manually refreshes a refresh group."
ReplyDeleteCan you explain what do you mean by Manually???
thanks for pointing out the mistake, "Manually" is removed now :)
ReplyDelete