物化视图的快速刷新使“金门工作”中止

时间:2019-03-31 13:03:26

标签: oracle performance refresh materialized-views

我们创建了一个物化视图,并在提交时快速刷新。我们也为MV创建了七个基本表,并创建了相应的日志。我们已将Golden Gate配置为在基表上进行复制。由于基表上的MV Golden Gate作业的负载被放弃。

    create materialized view MV_SPON_PERMIT_RES
    refresh fast  on commit
    as
    SELECT 
    p.rowid p_rowid,
           pd.rowid pd_rowid,
           ep.rowid ep_rowid,
          tl.rowid tl_rowid,
         la.rowid la_rowid,
          ip.rowid ip_rowid,
           pp.rowid pp_rowid,
      on tableA,tableB,TableC
  union all
  p.rowid p_rowid,
           pd.rowid pd_rowid,
           ep.rowid ep_rowid,
          tl.rowid tl_rowid,
         la.rowid la_rowid,
          ip.rowid ip_rowid,
           pp.rowid pp_rowid
on tableX,tableY,tableZ

问题:提交时快速刷新使Golden Gate作业异常终止:

DELETE FROM "VISION_INTG"."MV_SPON_PERMIT_RES" SNA$
WHERE "PP_ROWID" IN (SELECT/*+ NO_MERGE  HASH_SJ  */ *
                     FROM (SELECT CHARTOROWID ("MAS$"."M_ROW$$") RID$
                           FROM "VISION_INTG"."MLOG$test" "MAS$"
                           WHERE "MAS$".SNAPTIME$$ > :B_ST0) MAS$)
AND "FILE_TYPE" = 'Permit'

请帮助我。

1 个答案:

答案 0 :(得分:0)

如果我们在各个层之间复制数据时使用了Golden Gate,那么我们就不能在刷新快速提交中使用MV。我们可以按需进行MV,它应该以增量方式刷新数据。如果增量方式刷新需要时间,那么我们需要检查系统参数。 _mv_refresh_use_stats

根据oracle文档,应将其设置为false 更改系统集“ _mv_refresh_use_stats” = FALSE;