explain plan for
insert /*+ parallel(4) */ into tq84_dest
select
object_id,
owner,
object_name,
object_type
from
tq84_src;
The statement's execution plan places the LOAD TABLE CONVENTIONAL operator «above» the PX COORDINATOR operator which indicates that tq84_dest is not filled in parallel (although the data from tq84_src is selected in parallel).
The plan also has the PDML is disabled in current session note which confirms this observation:
select * from dbms_xplan.display(format => 'basic +note');
--
-- ----------------------------------------------
-- | Id | Operation | Name |
-- ----------------------------------------------
-- | 0 | INSERT STATEMENT | |
-- | 1 | LOAD TABLE CONVENTIONAL | TQ84_DEST |
-- | 2 | PX COORDINATOR | |
-- | 3 | PX SEND QC (RANDOM) | :TQ10000 |
-- | 4 | PX BLOCK ITERATOR | |
-- | 5 | TABLE ACCESS FULL | TQ84_SRC |
-- ----------------------------------------------
-- Note
-- -----
-- - Degree of Parallelism is 4 because of hint
-- - PDML is disabled in current session
explain plan for
insert /*+ enable_parallel_dml parallel(4) */ into tq84_dest
select
object_id,
owner,
object_name,
object_type
from
tq84_src;
This changes the execution plan such that tq84_dest is filed in parallel (the development/databases/Oracle/SQL/statement/execution/plan/operations/load/as-select/hybrid-tsm-hwmb operator is now found «below» the PX COORDINATOR operator).
In addition, the PDML is disabled in current session note is now gone: