DBMS_HPROF | DBMS_PROFILER |
---|---|
계층형 프로파일러(권장) | 라인 레벨 프로파일러 |
활성화 시 매우 작은 오버헤드 호출 레벨의 정보 제공 Self time 과 Total time 개념 모두 지원 추가 권한 불필요 네이티브 컴파일 된 PL/SQL 지원 | 라인 레벨 정보 제공 11.1 이전 버전에서 사용 가능 모든 주요 개발도구에서 지원 |
dbms_profiler 패키지 내 프로시저(함수) | 내용 |
---|---|
start_profiler | 프로파일러 활성화 |
flush_data | 프로파일링 데이터를 출력 테이블에 저장 |
stop_profiler | 플러시 & 프로파일러 비활성화 |
pause_profiler | 프로파일링 일시 중지 |
resume_profiler | 프로파일링 재개 |
SELECT dbms_profiler.start_profiler AS status
FROM dual;
STATUS
--------
0
execute perfect_triangles(1000)
SELECT dbms_profiler.stop_profiler AS status,
plsql_profiler_runnumber.currval AS runid
FROM dual;
STATUS RUNID
-------- --------
0 1
SELECT s.line,
round(ratio_to_report(p.total_time) OVER ()*100,1) AS time,
total_occur,
s.text
FROM all_source s,
(SELECT u.unit_owner, u.unit_name, u.unit_type,
d.line#, d.total_time, d.total_occur
FROM plsql_profiler_units u, plsql_profiler_data d
WHERE u.runid = &runid
AND d.runid = u.runid
AND d.unit_number = u.unit_number) p
WHERE s.owner = p.unit_owner (+)
AND s.name = p.unit_name (+)
AND s.type = p.unit_type (+)
AND s.line = p.line# (+)
AND s.owner = user
AND s.name = 'PERFECT_TRIANGLES'
AND s.type IN ('PROCEDURE', 'PACKAGE BODY', 'TYPE BODY')
ORDER BY s.line;
- 강좌 URL : http://www.gurubee.net/lecture/4327
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.