You can demand fast refresh for materialized views. Because refresh of tables which have large data are hard. The refresh time is long. Thus, you have to use fast refresh statement for this object.
Firstly, You have to create materialized view log for table. If change a data, this changes will write this log. You have to determine which table to perform log.
Create Log Table
SQL> create materialized view log on tablename with sequence,rowid
(column1, column2, column3)
including new values;
Create Materialized View With Fast Refresh Option
SQL> create materialized view mviewname
parallel
build immediate
refresh fast with rowid on demand as
(select column1,column2,column3 from tablename);
First refresh have to be conflict refresh. After you can use fast refresh.
Execute Refresh
SQL> exec dbms_mview.refresh(‘mviewname’,’C’);
SQL> exec dbms_mview.refresh(‘mviewname’,’FAST’);
66,495 total views, no views today
Tags: Database Administration, Oracle, SQL