(一)开启10046追踪

SQL> alter session set events '10046 trace name context forever,level 12';

(二)执行sql语句

SELECT J.JOB_ID,
J.JOB_TITLE,
J.MIN_SALARY,
J.MAX_SALARY,
E.EMPLOYEE_ID,
E.FIRST_NAME || E.LAST_NAME AS NAME,
E.EMAIL,
E.PHONE_NUMBER
FROM JOBS J, EMPLOYEES E
WHERE J.JOB_ID = E.JOB_ID;

(三)关闭追踪

SQL> alter session set events '10046 trace name context off';

(四)在查看alert目录里面找到新生成的文件,执行分析

(4.1)找到文件

[oracle@rac1 trace]$ pwd

/u01/app/oracle/diag/rdbms/rac/rac1/trace

[oracle@rac1 trace]$ ls -lrt

...

...

-rw-r----- 1 oracle asmadmin 196 Jan 14 15:41 rac1_ora_27998.trm

-rw-r----- 1 oracle asmadmin 9530 Jan 14 15:41 rac1_ora_27998.trc

(4.2)解析trc文件

[oracle@rac1 trace]$ tkprof rac1_ora_27998.trc lijiaman_10046.txt sys=no sort=prsela,exeela,fchela

(4.3)查看解析后的文件

[oracle@rac1 trace]$ ls -lrt
...
-rw-r----- 1 oracle asmadmin 112680 Jan 14 15:39 rac1_ora_12468.trc
-rw-r----- 1 oracle asmadmin 196 Jan 14 15:41 rac1_ora_27998.trm
-rw-r----- 1 oracle asmadmin 9530 Jan 14 15:41 rac1_ora_27998.trc
-rw-r--r-- 1 oracle oinstall 8587 Jan 14 15:43 lijiaman_10046.txt

附录:解析后文件信息

TKPROF: Release 11.2.0.1.0 - Development on Sun Jan 14 15:43:44 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Trace file: rac1_ora_27998.trc

Sort options: prsela exeela fchela

********************************************************************************

count = number of times OCI procedure was executed

cpu = cpu time in seconds executing

elapsed = elapsed time in seconds executing

disk = number of physical reads of buffers from disk

query = number of buffers gotten for consistent read

current = number of buffers gotten in current mode (usually for update)

rows = number of rows processed by the fetch or execute call

********************************************************************************

select j.job_id,

j.job_title,

j.min_salary,

j.max_salary,

e.employee_id,

e.first_name||e.last_name as name,

e.email,

e.phone_number

from jobs j,employees e

where j.job_id = e.job_id

call count cpu elapsed disk query current rows

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

Parse 1 0.00 0.00 0 0 0 0

Execute 1 0.00 0.00 0 0 0 0

Fetch 2 0.00 0.00 0 11 0 107

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

total 4 0.00 0.00 0 11 0 107

Misses in library cache during parse: 1

Optimizer mode: ALL_ROWS

Parsing user id: 85

Rows Row Source Operation

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

107 MERGE JOIN (cr=11 pr=0 pw=0 time=2014 us cost=6 size=8988 card=107)

19 TABLE ACCESS BY INDEX ROWID JOBS (cr=4 pr=0 pw=0 time=90 us cost=2 size=627 card=19)

19 INDEX FULL SCAN JOB_ID_PK (cr=2 pr=0 pw=0 time=18 us cost=1 size=0 card=19)(object id 73932)

107 SORT JOIN (cr=7 pr=0 pw=0 time=78 us cost=4 size=5457 card=107)

107 TABLE ACCESS FULL EMPLOYEES (cr=7 pr=0 pw=0 time=106 us cost=3 size=5457 card=107)

Elapsed times include waiting on following events:

Event waited on Times Max. Wait Total Waited

---------------------------------------- Waited ---------- ------------

SQL*Net message to client 3 0.00 0.00

SQL*Net message from client 3 0.86 0.93

Disk file operations I/O 1 0.00 0.00

********************************************************************************

SQL ID: 9m7787camwh4m

Plan Hash: 0

begin :id := sys.dbms_transaction.local_transaction_id; end;

call count cpu elapsed disk query current rows

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

Parse 4 0.00 0.00 0 0 0 0

Execute 4 0.00 0.00 0 0 0 4

Fetch 0 0.00 0.00 0 0 0 0

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

total 8 0.00 0.00 0 0 0 4

Misses in library cache during parse: 0

Optimizer mode: ALL_ROWS

Parsing user id: 85

Elapsed times include waiting on following events:

Event waited on Times Max. Wait Total Waited

---------------------------------------- Waited ---------- ------------

SQL*Net message to client 4 0.00 0.00

SQL*Net message from client 4 60.12 72.13

********************************************************************************

SQL ID: 5x323vaz5nuu4

Plan Hash: 0

alter session set events '10046 trace name context off'

call count cpu elapsed disk query current rows

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

Parse 1 0.00 0.00 0 0 0 0

Execute 1 0.00 0.00 0 0 0 0

Fetch 0 0.00 0.00 0 0 0 0

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

total 2 0.00 0.00 0 0 0 0

Misses in library cache during parse: 0

Parsing user id: 85

********************************************************************************

SQL ID: cf06fwacdmgfk

Plan Hash: 1388734953

select 'x'

from

dual

call count cpu elapsed disk query current rows

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

Parse 2 0.00 0.00 0 0 0 0

Execute 2 0.00 0.00 0 0 0 0

Fetch 2 0.00 0.00 0 0 0 2

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

total 6 0.00 0.00 0 0 0 2

Misses in library cache during parse: 0

Optimizer mode: ALL_ROWS

Parsing user id: 85

Rows Row Source Operation

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

1 FAST DUAL (cr=0 pr=0 pw=0 time=0 us cost=2 size=0 card=1)

Elapsed times include waiting on following events:

Event waited on Times Max. Wait Total Waited

---------------------------------------- Waited ---------- ------------

SQL*Net message to client 5 0.00 0.00

SQL*Net message from client 5 0.01 0.02

rdbms ipc reply 3 0.00 0.00

********************************************************************************

OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS

call count cpu elapsed disk query current rows

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

Parse 8 0.00 0.00 0 0 0 0

Execute 8 0.00 0.00 0 0 0 4

Fetch 4 0.00 0.00 0 11 0 109

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

total 20 0.00 0.00 0 11 0 113

Misses in library cache during parse: 1

Elapsed times include waiting on following events:

Event waited on Times Max. Wait Total Waited

---------------------------------------- Waited ---------- ------------

SQL*Net message to client 12 0.00 0.00

SQL*Net message from client 12 60.12 73.09

rdbms ipc reply 3 0.00 0.00

Disk file operations I/O 1 0.00 0.00

OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS

call count cpu elapsed disk query current rows

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

Parse 0 0.00 0.00 0 0 0 0

Execute 0 0.00 0.00 0 0 0 0

Fetch 0 0.00 0.00 0 0 0 0

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

total 0 0.00 0.00 0 0 0 0

Misses in library cache during parse: 0

8 user SQL statements in session.

0 internal SQL statements in session.

8 SQL statements in session.

********************************************************************************

Trace file: rac1_ora_27998.trc

Trace file compatibility: 11.1.0.7

Sort options: prsela exeela fchela

1 session in tracefile.

8 user SQL statements in trace file.

0 internal SQL statements in trace file.

8 SQL statements in trace file.

4 unique SQL statements in trace file.

152 lines in trace file.

73 elapsed seconds in trace file.

【完】

使用10046追踪执行计划demo的更多相关文章

  1. 使用 10046 查看执行计划并读懂 trace 文件

    查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划 ...

  2. 使用awrsqrpt.sql查看执行计划demo

    SQL> @?/rdbms/admin/awrsqrpt.sql Current Instance ~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instanc ...

  3. oracle执行计划(二)----如何查看执行计划

    目录: (一)六种执行计划  (1)explain plan for  (2)set autotrace on  (3)statistics_level=all  (4)dbms_xplan.disp ...

  4. SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

    1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session ...

  5. 通过10046 event来获取真实的执行计划

    获取SQL执行计划的方式有很多,但是某些时候获取的SQL执行计划并不是准确的,只有在SQL真实执行之后获取到的SQL PLAN才是真实准确的,其他方式(如,explain plan)获取到的执行计划都 ...

  6. Oracle数据库查看执行计划

    基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分 ...

  7. Oracle中获取执行计划的几种方法分析

    以下是对Oracle中获取执行计划的几种方法进行了详细的分析介绍,需要的朋友可以参考下     1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条S ...

  8. ORACLE数据库查看执行计划的方法

    一.什么是执行计划(explain plan) 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述. 二.如何查看执行计划 1: 在PL/SQL下按F5查看执行计划.第三方工具toad等 ...

  9. Oracle 课程五之优化器和执行计划

    课程目标 完成本课程的学习后,您应该能够: •优化器的作用 •优化器的类型 •优化器的优化步骤 •扫描的基本类型 •表连接的执行计划 •其他运算方式的执行计划 •如何看执行计划顺序 •如何获取执行计划 ...

随机推荐

  1. OS X 恢复模式重置 Mac 用户登录密码

    关闭你的 Mac.按住 Command + R(⌘R) 组合键,并点按开机按钮,直到出现  标志,进入恢复模式(Recovery Mode)(当然,你也可以先按开机键,在听到启动声后,立即按住 ⌘R ...

  2. libmodbus学习笔记

    libmodbus功能: a fast and portable Modbus library 库下载地址https://libmodbus.org 使用指南1)包含头文件#include <m ...

  3. spring boot 打包引入第三方jar

    本文作者:@Ryan Miao 本文链接:https://www.cnblogs.com/woshimrf/p/springboot-package-3rdparty-lib.html 版权声明: 本 ...

  4. Spark Streaming反压机制

    反压(Back Pressure)机制主要用来解决流处理系统中,处理速度比摄入速度慢的情况.是控制流处理中批次流量过载的有效手段. 1 反压机制原理 Spark Streaming中的反压机制是Spa ...

  5. 解决VM Workstation安装VMware Tools显示灰色的办法

    其实虚拟机用了好多次了,但是每次使用配置时还是忘这忘那的,这里就简单地再啰嗦下了. 解决办法如下: 1.关闭虚拟机: 2.在虚拟机设置分别设置CD/DVD.CD/DVD2和软盘为自动检测三个步骤: 3 ...

  6. maven工程仿springboot手写代码区分开发测试生产

    读取代码: package com.jz.compute.mc.v2.config; import java.util.Enumeration; import java.util.ResourceBu ...

  7. Modelsim SE-64 10.4的安装 、破解以及远程使用

    1.准备好modelsim SE-64 10.4的安装包和破解文件(modelsim-win64-10.4-se.exe  和MentorKG.exe ,patch_dll.bat). 2.安装 好  ...

  8. jquery关于on click事件的理解

    jquery关于on click事件的理解 <pre><a style="min-width:60px; margin-left:6px;" wenzhangid ...

  9. Linux用户查询、新增&删除

    1.查询用户tail -1 /etc/passwd 2.新增用户&用户组groupadd testgroup #组的添加useradd testuser #创建用户testuserpasswd ...

  10. 网络爬虫第五章之Scrapy框架

    第一节:Scrapy框架架构 Scrapy框架介绍 写一个爬虫,需要做很多的事情.比如:发送网络请求.数据解析.数据存储.反反爬虫机制(更换ip代理.设置请求头等).异步请求等.这些工作如果每次都要自 ...