Search notes:
ORA-12838: cannot read/modify an object after modifying it in parallel
Make sure our session is enabled for parallel DML:
select pdml_status from v$session where sid = sys_context('userenv', 'sid');
alter session enable parallel dml;
Create a table for the result:
create table tq84_objs (own varchar2(128), nam varchar2(128));
Insert data with parallel execution:
insert /*+ parallel */ into tq84_objs
select
owner,
object_name
from
dba_objects;
Verify if statement was executed in parallel:
select * from v$pq_sesstat order by statistic;
Following statement throws ORA-12838: cannot read/modify an object after modifying it in parallel:
delete from tq84_objs where own = 'SYS';
We have to commit the transaction in order to further modify data in the table:
commit;
delete from tq84_objs where own = 'SYS';