物化视图刷新提交后阻塞的会话

问题描述

我在Oracle 19c中使用如下的REFRESH FAST ON COMMIT创建了一个物化视图:

CREATE MATERIALIZED VIEW LOG ON MY_TABLE
  WITH SEQUENCE,ROWID(ID,COLUMN1,COLUMN2,COLUMN3)
  INCLUDING NEW VALUES;

CREATE MATERIALIZED VIEW MV_MYVIEW
  BUILD IMMEDIATE 
  REFRESH FAST ON COMMIT  
  disABLE QUERY REWRITE
  AS        
     SELECT COLUMN1,count(*) AS COLUMN4
      FROM MY_TABLE
      WHERE COLUMN3 IS NULL
      GROUP BY COLUMN1,COLUMN2;

快速刷新似乎可以很好地配合解释:

BEGIN
 DBMS_MVIEW.EXPLAIN_MVIEW ('MV_MYVIEW');
END;

SELECT *
FROM MV_CAPABILITIES_TABLE
where MVNAME = 'MV_MYVIEW'
ORDER BY seq;

mv capabilities

问题在于,在一些性能测试中,要在主表MY_TABLE中写很多内容,阻塞的会话急剧增加

enter image description here

COMMIT上的MV是否正常?主表MY_TABLE不太大(528729行),查询速度很快。

explain plan

一旦阻止会话消失,我尝试删除MV,但由于锁定会话而挂起了很长一段时间,我无法删除它。我试图终止会话,截断表,删除日志,将刷新更改为按需设置...无济于事

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)