Hi ,
I did not find the correct details through the google search, Apologies to re create this.
Oracle version : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0
I have materialized view mv1 with BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY and Range partition on two columns with indexes
In pkg1.proc1 they are refreshing the mv1 with dbms_mview.refresh('MV');
In pkg2.Proc1 also they are refreshing the mv1 with dbms_mview.refresh('MV');
and using in one of the select query.
Here the problem is this mv1 is taking too much time , So we need to improve the performance , I tried with atomic_refresh =FALSE option.
Its improve much, But the question is when we refreshing mview with atomic_refresh=FALSE with complete(C).
- In 19c Is it truncate +append ? I know in 10g ,11g its(DELETE+INSERT) Instead of TRUNCATE it's DELETE happend.
- when refreshing the mview (atomic_refresh=false). Can other user able to access the data or not, Is internally use snapchat ?
- If data is not available to other user can you please suggest the other solutions in this.
I tried this when one user refresh the mview ,other user able to check the records count , the count is present
Thanks,
Ramu