--新建测试表

create tablespace test
datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\test01.DBF'
size 500m
autoextend on
next 100m maxsize unlimited
extent management local autoallocate
segment   space management auto;

create table t1
(
sid int not null primary key,
sname varchar2(10)
)
tablespace test;

--循环导入数据
declare
        maxrecords constant int:=100000;
        i int :=1;
    begin
        for i in 1..maxrecords loop
          insert into t1 values(i,'ocpyang');
        end loop;
    dbms_output.put_line(' 成功录入数据! ');
    commit;
    end;
/

create table t2
as
select * from t1 where rownum<=5000;

oracle 11.1中可以使用增强的SQL跟踪来追逐一条或多条SQL语句.

-------------------------------------------------------------------------------------------
案例1:跟踪一组SQL
-------------------------------------------------------------------------------------------

--步骤0)初始化参数

---开启timed_statistics 参数

show parameters statistics;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_use_pending_statistics     boolean     FALSE
statistics_level                     string      TYPICAL
timed_os_statistics                  integer     0
timed_statistics                     boolean     TRUE  --需要设置为true

---查看所有trace文件路径

select name,value from v$diag_info where name='Diag Trace';

E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace

--步骤1).设置追踪标示

alter session set tracefile_identifier='ocpyang01';

--步骤2).设置追踪

alter session set events 'sql_trace level 12';

--步骤3).执行sql
select count(*) from t1;

select count(*) from t2;

select * from t1 where rownum<=10;

--步骤4).关闭追踪
alter session set events 'sql_trace off';

--步骤5)获得跟踪文件名

---方法1:

SELECT    d.VALUE
         || '\'
         || LOWER (RTRIM (i.INSTANCE, CHR (0)))
         || '_ora_'
         || p.spid
         || '.trc' trace_file_name
    FROM (SELECT p.spid
            FROM v$mystat m, v$session s, v$process p
           WHERE m.statistic# = 1 AND s.SID = m.SID AND p.addr = s.paddr) p,
        (SELECT t.INSTANCE
            FROM v$thread t, v$parameter v
          WHERE v.NAME = 'thread'
             AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
        (SELECT VALUE
           FROM v$parameter
           WHERE NAME = 'user_dump_dest') d
  /

---方法2:
select value from v$diag_info
where name='Default Trace File';

E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_1328024_ocpyang01.trc

--步骤6)分析跟踪文件

----方法1:tkprof

tkprof E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_1328024_ocpyang01.trc e:\ocpyang.out sys=yes

*******************************************************************************
结果如下:

*******************************************************************************
TKPROF: Release 11.2.0.3.0 - Development on 星期五 4月 26 15:46:50 2013

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

Trace file: E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_1328024_ocpyang01.trc
Sort options: default

********************************************************************************
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
********************************************************************************

SQL ID: 5bc0v4my7dvr5 Plan Hash: 3724264953

select count(*)
from
 t1

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.01       0.00          0         64          1           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        2      0.00       0.00          0        289          1           1
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        4      0.01       0.01          0        353          2           1

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
         1          1          1  SORT AGGREGATE (cr=289 pr=0 pw=0 time=9600 us)
    100000     100000     100000   TABLE ACCESS FULL T1 (cr=289 pr=0 pw=0 time=21518 us cost=2 size=0 card=82)

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                       2        0.00          0.00
  SQL*Net message from client                     2        0.00          0.00
********************************************************************************

SQL ID: 4a68b8mrkawav Plan Hash: 3321871023

SELECT /* OPT_DYN_SAMP */ /*+ ALL_ROWS IGNORE_WHERE_CLAUSE
  NO_PARALLEL(SAMPLESUB) opt_param('parallel_execution_enabled', 'false')
  NO_PARALLEL_INDEX(SAMPLESUB) NO_SQL_TUNE */ NVL(SUM(C1),0), NVL(SUM(C2),0)
FROM
 (SELECT /*+ NO_PARALLEL("T2") FULL("T2") NO_PARALLEL_INDEX("T2") */ 1 AS C1,
  1 AS C2 FROM "SYS"."T2" "T2") SAMPLESUB

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        1      0.00       0.00          0         15          0           1
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        3      0.00       0.00          0         15          0           1

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: SYS   (recursive depth: 1)
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
         1          1          1  SORT AGGREGATE (cr=15 pr=0 pw=0 time=633 us)
      5000       5000       5000   TABLE ACCESS FULL T2 (cr=15 pr=0 pw=0 time=906 us cost=5 size=0 card=981)

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

SQL ID: 94dwfa8yd87kw Plan Hash: 3321871023

select count(*)
from
 t2

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0         16          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        2      0.00       0.00          0         15          0           1
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        4      0.00       0.00          0         31          0           1

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
         1          1          1  SORT AGGREGATE (cr=15 pr=0 pw=0 time=400 us)
      5000       5000       5000   TABLE ACCESS FULL T2 (cr=15 pr=0 pw=0 time=777 us cost=5 size=0 card=5000)

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                       2        0.00          0.00
  SQL*Net message from client                     2        0.96          0.96
********************************************************************************

SQL ID: 2uzqkdqdtkn8p Plan Hash: 1267113925

SELECT signature
FROM
 sqllog$ WHERE signature = :1

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        3      0.00       0.00          0          0          0           0
Execute      3      0.00       0.00          0          0          0           0
Fetch        3      0.00       0.00          0          6          0           2
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        9      0.00       0.00          0          6          0           2

Misses in library cache during parse: 0
Optimizer mode: CHOOSE
Parsing user id: SYS   (recursive depth: 1)
Number of plan statistics captured: 2

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
         0          1          1  INDEX UNIQUE SCAN SQLLOG$_PKEY (cr=2 pr=0 pw=0 time=22 us cost=1 size=12 card=1)(object id 188)

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

SQL ID: 01zk56t60wvf1 Plan Hash: 1877030569

INSERT INTO sqllog$ SELECT :1, 1+TRUNC(sqllog$_seq.nextval/8192) FROM dual

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          4           1
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          0          4           1

Misses in library cache during parse: 0
Optimizer mode: CHOOSE
Parsing user id: SYS   (recursive depth: 1)
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
         0          0          0  LOAD TABLE CONVENTIONAL  (cr=0 pr=0 pw=0 time=185 us)
         1          1          1   SEQUENCE  SQLLOG$_SEQ (cr=0 pr=0 pw=0 time=32 us)
         1          1          1    FAST DUAL  (cr=0 pr=0 pw=0 time=1 us cost=2 size=0 card=1)

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

SQL ID: 0h4nqj1xgy15r Plan Hash: 3836375644

select *
from
 t1 where rownum<=10

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          4          1           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        2      0.00       0.00          0          5          0          10
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        4      0.00       0.00          0          9          1          10

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
        10         10         10  COUNT STOPKEY (cr=5 pr=0 pw=0 time=41 us)
        10         10         10   TABLE ACCESS FULL T1 (cr=5 pr=0 pw=0 time=35 us cost=2 size=2081280 card=104064)

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                       2        0.00          0.00
  log file sync                                   1        0.00          0.00
  SQL*Net message from client                     2        8.73          8.73
********************************************************************************

----方法2:oracle追踪分析器即trcanlzr或trca

1)进入到指定路径

cd E:\trca\trca\run

2)登录sqlplus

sqlplus/ as sysdba  --注意:sqlplus 连接的是trace 生成的用户

3)开始分析追踪文件

start trcanlzr.sql orcl_ora_1328024_ocpyang01.trc

--注意:trace名称不包含路径,使用TRCA$INPUT1的目录

4)进入到指定路径分析结果的文件保存路径:

E:\trca\trca\run下

转载于:https://blog.51cto.com/ocpyang/1194460

oracle 追踪特定sql语句相关推荐

  1. Oracle数据库中SQL语句用法(一)

    Copyright © 2019 @Linyer. All Rights Reserved 下接Oracle数据库中SQL语句用法(二)[点击以查看] 目录 第1章:编写基本的SQL SELECT语句 ...

  2. oracle维护常用SQL语句(查看系统表和视图)

    转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间 ...

  3. Oracle]高效的SQL语句之分析函数

    [Oracle]高效的SQL语句之分析函数(一)--sum() 实际应用中我们可以通过sum()统计出组中的总计或者是累加值,具体示例如下: 1.创建演示表 create table emp as s ...

  4. 本地可以使用oracle吗,Oracle - PLS-00642:SQL语句中不允许使用本地集合类型

    我是ORACLE编程中的新手,我试图将表列值与传入的数组进行比较,并且我在此过程中遇到了相当令人沮丧的时间.Oracle - PLS-00642:SQL语句中不允许使用本地集合类型 这是来自包头的类型 ...

  5. Oracle查看注释SQL语句

    Oracle查看注释SQL语句 --查询表的列名和对应列名的注释 --查询表的字段类型及字段长度 --查询表名注释 --查询创建视图语句 --查询视图的列注释 --删除视图 --查看视图名注释 --修 ...

  6. oracle表中增加字段 sql语句,ORACLE中通过SQL语句(alter table)来增加、删除、修改字段...

    1.添加字段: alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ; 2.添加备注: comment on ...

  7. ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。

    ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...

  8. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  9. oracle delete not in 优化,Oracle中的sql语句优化

    1.选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表driving table)将被最先处理,在 ...

最新文章

  1. AI一分钟 | 小米公布Q2财报,上市以来股价振幅高达30%;俄制造商推出步行杀手机器人...
  2. python爬虫Scrapy框架之增量式爬虫
  3. input python_python input 详解
  4. iphone编译警告
  5. 例1:反转一个三位整数
  6. python修改文件linux编码格式,使用python的chardet库获得文件编码并修改编码
  7. 单元测试 - mock异常
  8. Oracle存在gap,发现gap及解决
  9. android充电器 充苹果,安卓充电器能给iPhone 12快充吗?实测小惊喜
  10. python学习视频-2018年最新Python学习路线图(内含大纲+视频+工具)
  11. 英伟达实时 3D 设计协作和仿真平台已正式发布
  12. Win11画图工具没了怎么重新安装
  13. 把汇总报表页面生成 pdf文件方案!
  14. 路径规划算法:Dijkstra
  15. 默纳克系统电梯服务器怎么封超载,默纳克电梯系统故障代码.pdf
  16. Xtrabackup 数据备份工具使用方法
  17. 笨方法学 python3怎么样_笨办法学python3日常问题解决
  18. java京东秒杀_小猿圈Python之实现京东秒杀功能技巧
  19. 计算机怎么取消u盘启动程序,如何设置电脑启动项的为U盘启动,小编教你如何设置电脑启动项的为U盘启动...
  20. 漫画喵的100行Python代码逆袭

热门文章

  1. Django集成Markdown编辑器【附源码】
  2. MySQL高级 之 explain执行计划详解
  3. springmvc @responsebody json字符编码
  4. 'ModelOptions' object has no attribute 'get_field_names
  5. hdu1171 转化01背包,组合
  6. Stones HDU 1896
  7. FPGA/CPLD按键硬件延时消除抖动的思路
  8. 如何安装OpenCV?如何安装cv2?如何更新numpy?
  9. sql将一列拆分为多列_SQL的弱点(2):不支持从所有列中去除某列
  10. 访问指定html页面,Spring boot的Controller类是如何指定HTML页面的