文档解释
ORA-23472: materialized view “string”.”string” must be atomically refreshed
Cause: Non-atomic refresh is not supported for the specified materialized view.
Action: Set the value of the ATOMIC parameter to FALSE in the refresh procedure being used or remove the specified materialized view from the set of materialized views being refreshed.
ORA-23472: materialized view “string”.”string” must be atomically refreshed 是指某个物化视图,无法使用原子方式(atomic)完成刷新,而是必须拆分成多次同步来完成。
官方解释
常见案例
一般处理方法及步骤
1.检查物化视图是否基于多表组合构成,如果是,则无法使用原子方式刷新,需要将多个表分解出来,分别采取分解刷新。
2.确定基于多个表的物化视图的每个表的原创建语句,可以手工识别表的具体名称,或是利用DBMS_METADATA.get_ddl函数获取视图原来的创建语句,然后手工拆解出每个表,最后使用REPLACE VIEW关键字分别重新创建每一个表,每一个表都可以使用增量ORFULL刷新方式。
3.调优物化视图的刷新方式,降低视图的刷新水平,避免更新不一致性,最佳实践是使用分解后的每一个部分进行KEEP STALE数据刷新。