2015.3.18 今天某用户的数据导出又开始报上述错误了,检查了一下,发现某个物化视图采用了提交更新模式: CREATE MATERIALIZED VIEW V_INBED_BILL_CHECK_TOTAL REFRESH COMPLETE ON COMMIT AS ... 由于必须开启日志: --建立物化视图日志,将涉及的字段序列化 CREATE MATERIALIZED VIEW LOG ON T_CHECK_BILL WITH ROWID, SEQUENCE(ORG_ID,BATCH_ID,SI_TYPE_ID,HOSP_ID,CHECK_RULE_ID,INBED_BILL_ID,PRES_BILL_ID,PSN_ID,CHECK_ITEM_AMT,CHECK_ITEM_CNT,CHECK_DEDUC_AMT) INCLUDING NEW VALUES; 今天重新建立物化视图,全部采用手工更新模式,所以重建物化视图为: CREATE MATERIALIZED VIEW V_INBED_BILL_CHECK_TOTAL REFRESH ON DEMAND AS ... 在导出数据时,删除物化视图后导出仍然报错,发现没有执行原来的删除命令:
DROP MATERIALIZED VIEW LOG ON T_CHECK_BILL; 执行该命令后,报错消失。 所以正确的理解应该是: 建立物化视图过程中,如果开启了物化视图日志,导出时将会报”ORA-01455”的错误,导致导出失败。删除物化视图日志可以解决该问题。