ORA-12838: 无法在并行模式下修改之后读/修改对象运行一个存储过程,产生上面错误本存储过程完成,多个表插入操作。
第一个表插入成功,第二表就出现问题!
查到错误情况:不知道如何处理!
ORA-12838: cannot read/modify an object after modifying it in parallel 
Cause: Within the same transaction, an attempt was made to add read or modification statements on a table after it had been modified in parallel or with direct load. This is not permitted.
Action: Rewrite the transaction, or break it up into two transactions: one containing the initial modification and the second containing the parallel modification operation.

解决方案 »

  1.   

    很明显,第一个插入后没有commit, 后面的就报错了。第一个插入是用 /*+ append */ (或类似)这种直接插入的
      

  2.   

    insert /*+ append */ into table  操作对于这个表的锁级为6,而insert 操作对这个锁级为3 ,在同一session下,执行了上面这个操作,没有提交/回滚事务,然后有对table进行 select....等操作就会报上面的错误