ORA-12034
表述为: “ dd"."USER_TABLE” 上的实体化视图日志比上次刷新后的内容新
1.问题背景:
1)A表原本就有一个物化视图。
2)操作过程:
因为需要将A表数据分出一部分到B表,因此修改了A表一个字段M名称,等将A表部分数据复制到B表完毕后,又将A表被修改的字段名再改回来。
3)在系统操作页面,出现对A表操作查询报错ora-12304
2.解决过程:
1)尝试全量刷新物化视图
----查询物化视图
SELECT mview_name, last_refresh_date, fullrefreshtim, increfreshtim
FROM dba_mview_analysis;
select * from user_objects where object_type='MATERIALIZED VIEW';
---假如查询结果是得到一个视图名为:MV_FORCE_READ_CONTENT
----对物化视图进行全量刷新
exec dbms_mview.refresh('MV_FORCE_READ_CONTENT','C');
exec dbms_mview.refresh('MV_FORCE_READ_CONTENT');
2)物化视图全量刷新后,系统操作页面,对A表查询操作恢复正常,但是对A表进行新增插入数据操作异常,报错ora-12304
----错误提示样例
SqlMapClient operation;uncategorized
SQLException for SQL []SQL state [99999];error code[12034]
--The error occurred in EmptyMapping.xml
--The error occurred while applying a parameter map
---Check the insertForceReadContent-InlineParameterMap
---Check the statement (update failed)
Cause:java.sql.SQLException:ORA-12034:"DD"."USER TABLE"上的实体化视图日志比上次刷新后的内容新
nested exception is
com.ibatis.common.jdbc.exception.NestedSQLExce
--The error occurred in EmptyMapping.xml
--The error occurred while applying a parameter map
---Check the insertForceReadContent-InlineParameterMap
---Check the statement (update failed)
Cause:java.sql.SQLException:ORA-12034:"DD","USER TABLE"上的实体化视图日志比上次刷新后的内容新[SQL:12034,99999]
3)再次对物化视图进行全量更新,出现更新后新增插入成功,再新增则又出现ora-12304报错
4)决定删除物化视图
DROP VIEW MV_FORCE_READ_CONTENT;
---也可能是
DROP MATIALIZED VIEW MV_FORCE_READ_CONTENT;√√