文档解释
ORA-32316: REFRESH FAST of “string”.”string” unsupported after mixed DML
Cause: One or more of the materialized view logs on the detail tables referenced by the specified materialized view omits the sequence number option. Such a log cannot be used to refresh a materialized view after deletes or updates have been performed on multiple detail tables.
Action: Use REFRESH COMPLETE. Note: you can use the DBMS_MVIEW.EXPLAIN_MVIEW() API to determine which materialized view logs omit the sequence number option.
这是一个Oracle数据库系统的错误,该错误表明在执行混合的DML操作之后,不支持FAST刷新操作。
官方解释
“ORA-32316:FAST REFRESH “string”.”string”不支持混合DML”表明在执行混合DML操作(包括SELECT和INSERT/UPDATE/DELETE操作)之后,无法使用FAST REFRESH有效地进行内部秘密微调。 Oracle会打断FAST REFRESH,以执行一合一查询,然后在此之后使用FAST REFRESH重新展开。
常见案例
在Oracle关系型数据库的事务多次执行混合的DML操作,并尝试在DML操作之后使用快速刷新,会导致ORA-32316错误。
一般处理方法及步骤
1.对事务中的DML操作进行分割,每个事务中的操作类型应该保持一致。
2.在事务中的DML操作之后,可以考虑提交后刷新,以获得最新更新。
3.最后,可以根据需要将分割的事务连接在一起以形成完整事务,并使用FAST REFRESH确保最新更新。