Skip to Main Content

Oracle Database Express Edition (XE)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

dbms_mview.refresh-atomic_refresh=FALSE in 19c

Ramuplsql10Jul 11 2023

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).

  1. In 19c Is it truncate +append ? I know in 10g ,11g its(DELETE+INSERT) Instead of TRUNCATE it's DELETE happend.
  2. when refreshing the mview (atomic_refresh=false). Can other user able to access the data or not, Is internally use snapchat ?
  3. 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

Comments
Post Details
Added on Jul 11 2023
0 comments
1,964 views