dml的并行查看和开启

看看并行选件是否安装

Select * FROM V$OPTION where parameter like 'Parallel%';

看Parallel execution是不是TRUE

dml的并行查看和开启

  1. 如果是TRUE,执行语句后查看
  2. select * from V$pq_sesstat;
    where name like '%Parallelized';

(以上两行一起执行)

如果Queries Parallelized>>0就说明是执行了并行

 

dml的并行查看和开启

开启并行

//开启PDML的开关 
SQL> alter session enable parallel dml; 
Session altered 

使用hint,开启8个并行度进行insert操作。 

--并行insert 
SQL>insert /*+ parallel(t,8) */ into t select * from t; 

10039808 rows inserted 
Executed in 76.238 seconds 

运行过程中,出现的并行操作过程如下。 
//开启8个并行度; 
SQL> select * from v$px_session; 
SADDR                  SID   SERIAL#     QCSID QCSERIAL# 

---------------- ---------- ---------- ---------- ---------- 
070000007FFF52E0       361      3123       324     26152 
070000007FE84950       176     50028       324     26152 
070000007FE7EC70       178     35508       324     26152  
070000007FE0AAF0       218      5994       324     26152 
070000007D29D620       510     20829       324     26152 
070000007D2A0490       509     26391       324     26152 
070000007FC94480        35     50615       324     26152  
070000007FFFAFC0       359     32516       324     26152  
070000007D12FB00       324     26152       324           
9 rows selected 

SQL> select * from v$px_process; 
SERVER_NAME STATUS          PID SPID                   SID SERIAL# 

----------- --------- ---------- ------------------------ ---------- ---------- 

P006       INUSE          100 19005590                        35     50615 
P001       INUSE           69 19398710                       176     50028 
P002       INUSE           73 9633968                        178     35508 
P003       INUSE           85 23068694                       218      5994 
P007       INUSE          102 18743298                       359     32516 
P000       INUSE           66 14221352                       361      3123 
P005       INUSE           99 21233884                       509     26391 
P004       INUSE           95 19071188                       510     20829 
8 rows selected