ORA-12839: cannot modify an object in parallel after modifying

Mappings Fail with ORA-12839 Ater Upgrade Oracle Database From To [ID 1314402.1]


After upgrade of Oracle Database from Oracle to, following error occurs when running OWB mappings:

ORA-12839: cannot modify an object in parallel after modifying


Upgrade from Oracle to


The issue can be caused by audit tables having parallel DML enabled.

1. Oracle -> No error

The ORA-12839 error does not occur in Oracle because despite the audit tables have Parallel DML enabled, the DB optimizer decides to run the DELETE serial. The reason that the optimizer makes this decision is because of a restriction that existed in that prevented parallel DML in recursive SQL. (Recursive SQL is e.g. SQL executed from a Package like an OWB Mapping)

2. Oracle -> ORA-12839

An Enhancement Request (7022700) is introduced in This ER allows that more recursive SQL DML can run in parallel. So the optimizer finds the Audit table configured with Parallel and decides to run the DELETE with parallel DML. But the Oracle parallel DML rule is to allow only one DML in one transaction. And since OWB mappings can have two DMLs (INSERT+DELETE) in one transaction, the ORA-12839 occurred is expected. The ORA-12839 should not occur when the OWB audit table is configured with NOPARALLEL, which is the default.


Disable Parallel DML on all OWB Audit Tables. This is the default and tested configuration.


Niciun comentariu:

Trimiteți un comentariu