文档解释
ORA-12047: PCT FAST REFRESH cannot be used for materialized view “string”.”string”
Cause: PCT refresh is either not enabled on this materialized view or not possible after set of the base table changes since last refresh.
Action: Use just REFRESH FORCE, which will reinstantiate the entire table and try to pick the best refresh method on the materialized view Do explain_mview to look at the cause why PCT refresh is not possible on this materialized view
ORA-12047表示无法使用PCT FAST REFRESH给指定的materialied views创建快速刷新,意味着指定的materialied views不能使用PCT FAST REFRESH。
官方解释
ORA-12047: PCT FAST REFRESH cannot be used for materialized view “string”.”string”
Cause: Attempt to specify PCT FAST REFRESH when not expected.
Action: Determine why it is not necessary to specify PCT FAST REFRESH and then reissue the command without the PCT FAST REFRESH clause.
常见案例
正常处理方法及步骤
1、首先检查MVIEW语句有没有PCT FAST REFRESH,如果有将其注释掉再尝试;
2、如果MVIEW是使用REFRESH COMPLETE,那么检查表中是否存在row movement,如果存在row movement将其取消;
3、如果问题仍未解决,检查MVIEW依赖的表是不是序列和临时表,如果是改用REFRESH FORCE,如果仍然不行,可尝试将fast_refresh_mv参数变量设置为false再重新刷新;
4、 如果上述操作仍没有解决问题,可将MYVIEW改为使用REFRESH FORCE,如果仍然不行,可以drop和重新创建MVIEW。