10384 event
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
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';
- 10384 이벤트에서 쿼리는 여전히 병렬 실행 계획을 가지고 있지만, 쿼리 코디네이터(QC)만 이 SQL 명령을 실행하고 병렬 슬레이브가 시작되지 않습니다.
- 따라서 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 |
------------------------------------------------------------------------------------------
- 차이점은 2단계에서 4단계까지 볼 수 있는 이벤트가 없으면 A-Row 열이 숫자 0을 보여준다는 것입니다.
- /*+ gather_plan_statistics */ 힌트는 쿼리 코디네이터의 정보만 수집하고 병렬 슬레이브와 쿼리 코디네이터의 통계를 결합하지 않습니다.
- 2에서 4까지의 단계는 슬레이브에 의해 실행되며 쿼리 코디네이터가 작업을 수행하지 않습니다. 이것이 A-Row 열에 0이 보이는 이유입니다.
- 레벨 16384의 이벤트 10384를 사용하는 데 도움이 되며 QC만 작동하고 A-Rows 열은 실제 행 수를 보여줍니다.
- A-Time과 같은 일부 데이터는 이벤트 10384와 함께 병렬 실행과 직렬 실행 간에 변경될 수 있습니다.