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.