You can perform manual refreshes in addition to automatic refreshes as explained in my earlier article (Materialized Views). Oracle supplies DBMS_SNAPSHOT and DBMS_MVIEW packages, which we can use to refresh materialized views / snapshots.
DBMS_SNAPSHOT
SQL> execute DBMS_SNAPSHOT.REFRESH( 'MV_EMP','f'); PL/SQL procedure successfully completed.
Parameters of Procedure REFRESH
The first parameter to the procedure REFRESH is the name of the materialized view or snapshot, the second parameter specifies the type of refresh.
Type of Refresh | Description |
F, f | Fast Refresh |
C, c | Complete Refresh |
A | Always perform complete refresh |
? | Use the default option |
The manual refresh overtakes any previous refresh timing options, which were specified during the creation of the view. It more specifically overrides the ‘start with’ clause, which is specified with the ‘create materialized view’ command.
Also provided with DBMS_SNAPSHOT is the REFRESH_ALL procedure. This procedure refreshes all materialized views, which were defined using the automatic refreshes.
SQL> execute DBMS_SNAPSHOT.REFRESH_ALL; PL/SQL procedure successfully completed.
Parameters of procedure REFRESH_ALL
The REFRESH_ALL procedure does not accept any parameters.