文档解释
ORA-12013: updatable materialized views must be simple enough to do fast refresh
Cause: The updatable materialized view query contained a join, subquery, union, connect by, order by, or group by caluse.
Action: Make the materialized view simpler. If a join is really needed, make multiple simple materialized views then put a view on top of them.
ORA-12013表示更新materialized views时,需要将其设置为足够简单,以便实现快速刷新。
此错误是由于物化视图不具备快速刷新的要求而导致的,物化视图需要相关的规则和约束条件才能够实现快速刷新功能。
官方解释
此错误occurs when you attempt to create or alter a materialized view and one or more of the following applications is true:
1.The materialized view is not simple enough to do a fast refresh.
2.The materialized view is being attempted to be created, altered, or fast refreshed using a release prior to Oracle Database 10g.
3.The materialized view is being attempted to be manipulated without a valid ON COMMIT refresh group and or ON DEMAND refresh group assigned to it.
4.The materialized view is being attempted to be created without STATEMENT or QUERY rewrite or without a valid refresh technique.
常见案例
当您尝试使用Oracle 8i或更早的版本创建、更改或快速刷新物化视图时,就会发生此错误。例如,在Oracle 9i中创建、更改或快速刷新物化视图时,可能会发生此错误。
正常处理方法及步骤
1.在尝试将物化视图变成可更新状态时,确保使用Oracle 10G或更高版本。
2.为物化视图分配合理的ON COMMIT和ON DEMAND刷新组。
3.使用ON COMMIT/ON DEMAND有效的刷新技术,例如:FAST_START 和QUERY_REWRITE。
4.请确保物化视图具有足够的简单性,以实现快速刷新。