بروز شدن همزمان Materialized Viewهای on-commit refresh از طریق sessionهای مختلف می تواند سبب رخ دادن eventای به نام enq: JI – contention شود چرا که این نوع از MVها به طور پیش فرض به صورت سریالی بروز می شوند و امکان بروزرسانی Concurrent را ندارند.
در قسمت زیر، از طریق دو session به طور همزمان دیتایی را در جدول مرجع MV درج کرده ایم که این مسئله سبب شد تعداد زیادی از eventهای enq: JI – contention را شاهد باشیم:
SQL> create materialized view auther_contry_mv refresh fast on commit as select country,count(*) from author_tbl group by country; Materialized view created.
Session 1: SQL> begin for i in 10000 ..19999 loop insert into author_tbl values(i,'Rahmat Rabbani','m','Oracle DBA','IRAN'); commit; end loop; end; / PL/SQL procedure successfully completed. Elapsed: 00:03:00.18
Session 2: begin for i in 1 ..9999 loop insert into author_tbl values(i,'Rahmat Rabbani','m','Oracle DBA','IRAN'); commit; end loop; end; / PL/SQL procedure successfully completed. Elapsed: 00:03:00.25

در نسخه 23c اوراکل از طریق قابلیت Materialized View Concurrent Refresh این محدودیت از بین برده است و با استفاده از این قابلیت می توان به صورت Concurrent این نوع از MVها را بروزرسانی کرد.

