행위

"10384 event"의 두 판 사이의 차이

DB CAFE

(10384 event 트레이스)
(10384 event 트레이스)
12번째 줄: 12번째 줄:
 
# 10384 이벤트에서 쿼리는 여전히 병렬 실행 계획을 가지고 있지만, 쿼리 코디네이터(QC)만 이 SQL 명령을 실행하고 병렬 슬레이브가 시작되지 않습니다.  
 
# 10384 이벤트에서 쿼리는 여전히 병렬 실행 계획을 가지고 있지만, 쿼리 코디네이터(QC)만 이 SQL 명령을 실행하고 병렬 슬레이브가 시작되지 않습니다.  
 
# 따라서 1개의 프로세스만 실행되므로 실제 행과 같은 정보를 더 쉽게 수집할 수 있습니다.
 
# 따라서 1개의 프로세스만 실행되므로 실제 행과 같은 정보를 더 쉽게 수집할 수 있습니다.
#:<source lang=sql>alter session disable parallel query;</source>
+
* 다음 명령은 직렬실행계획(serial paln)을 만들고 병렬 실행 계획과 다르다.
 +
*:<source lang=sql>alter session disable parallel query;</source>
 +
* 이 예시는 차이를 보여주기 위해 gather_plan_statistics 힌트를 사용
 +
<source lang=sql>
 +
SQL> set linesize 150
 +
SQL> set pagesize 2000
 +
SQL> alter session set events '10384 trace name context forever , level 16384';
 +
SQL>  select /*+  gather_plan_statistics  */ * from emp e;
 +
SQL> select * from TABLE(dbms_xplan.display_cursor( null, null, 'ALL IOSTATS LAST'))
 +
SQL> alter session set events '10384 trace name context off';
 +
Here is the output with the event 16384
 +
------------------------------------------------------------------------------------------
 +
|Id|Operation            |Name|Start|E-Row|E-Byte|Cost| TQ  |IN-OU|PQ Distr |A-Row|Buffer|
 +
------------------------------------------------------------------------------------------
 +
| 1| PX COORDINATOR      |    | 1  |    |      |    |    |    |        | 14  |  9  |
 +
| 2|  PX SEND QC (RANDOM)|:TQ1| 1  | 14  | 518  |  2 |Q1,00|P->S |QC (RAND)| 14  |  9  |
 +
| 3|  PX BLOCK ITERATOR |    | 1  | 14  | 518  |  2 |Q1,00|PCWC |        | 14  |  9  |
 +
|*4|    TABLE ACCESS FULL|EMP | 1  | 14  | 518  |  2 |Q1,00|PCWP |        | 14  |  9  |
 +
------------------------------------------------------------------------------------------
 +
and here is the output without the event 10384
 +
 +
------------------------------------------------------------------------------------------
 +
|Id|Operation            |Name|Start|E-Row|E-Byte|Cost| TQ  |IN-OU|PQ Distr |A-Row|Buffer|
 +
------------------------------------------------------------------------------------------
 +
| 1| PX COORDINATOR      |    | 1  |    |      |    |    |    |        | 14  |  2  |
 +
| 2|  PX SEND QC (RANDOM)|:TQ1| 0  | 14  | 518  |  2 |Q1,00|P->S |QC (RAND)|  0  |  0  |
 +
| 3|  PX BLOCK ITERATOR |    | 0  | 14  | 518  |  2 |Q1,00|PCWC |        |  0  |  0  |
 +
|*4|    TABLE ACCESS FULL|EMP | 0  | 14  | 518  |  2 |Q1,00|PCWP |        |  0  |  0  |
 +
------------------------------------------------------------------------------------------
 +
 
 +
</source>

2024년 8월 22일 (목) 18:21 판

thumb_up 추천메뉴 바로가기


10384 event 트레이스[편집]

alter session set events '10384 trace name context forever , level 16384';

<your parallel query goes here>

alter session set events '10384 trace name context off';
  1. 10384 이벤트에서 쿼리는 여전히 병렬 실행 계획을 가지고 있지만, 쿼리 코디네이터(QC)만 이 SQL 명령을 실행하고 병렬 슬레이브가 시작되지 않습니다.
  2. 따라서 1개의 프로세스만 실행되므로 실제 행과 같은 정보를 더 쉽게 수집할 수 있습니다.
  • 다음 명령은 직렬실행계획(serial paln)을 만들고 병렬 실행 계획과 다르다.
    alter session disable parallel query;
  • 이 예시는 차이를 보여주기 위해 gather_plan_statistics 힌트를 사용
SQL> set linesize 150
SQL> set pagesize 2000
SQL> alter session set events '10384 trace name context forever , level 16384';
SQL>  select /*+  gather_plan_statistics  */ * from emp e;
SQL> select * from TABLE(dbms_xplan.display_cursor( null, null, 'ALL IOSTATS LAST'))
SQL> alter session set events '10384 trace name context off';
Here is the output with the event 16384
------------------------------------------------------------------------------------------
|Id|Operation            |Name|Start|E-Row|E-Byte|Cost| TQ  |IN-OU|PQ Distr |A-Row|Buffer|
------------------------------------------------------------------------------------------
| 1| PX COORDINATOR      |    | 1   |     |      |    |     |     |         | 14  |   9  |
| 2|  PX SEND QC (RANDOM)|:TQ1| 1   | 14  | 518  |  2 |Q1,00|P->S |QC (RAND)| 14  |   9  |
| 3|   PX BLOCK ITERATOR |    | 1   | 14  | 518  |  2 |Q1,00|PCWC |         | 14  |   9  |
|*4|    TABLE ACCESS FULL|EMP | 1   | 14  | 518  |  2 |Q1,00|PCWP |         | 14  |   9  |
------------------------------------------------------------------------------------------
and here is the output without the event 10384
 
------------------------------------------------------------------------------------------
|Id|Operation            |Name|Start|E-Row|E-Byte|Cost| TQ  |IN-OU|PQ Distr |A-Row|Buffer|
------------------------------------------------------------------------------------------
| 1| PX COORDINATOR      |    | 1   |     |      |    |     |     |         | 14  |   2  |
| 2|  PX SEND QC (RANDOM)|:TQ1| 0   | 14  | 518  |  2 |Q1,00|P->S |QC (RAND)|  0  |   0  |
| 3|   PX BLOCK ITERATOR |    | 0   | 14  | 518  |  2 |Q1,00|PCWC |         |  0  |   0  |
|*4|    TABLE ACCESS FULL|EMP | 0   | 14  | 518  |  2 |Q1,00|PCWP |         |  0  |   0  |
------------------------------------------------------------------------------------------