iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL_TRACE使用案例
  • 468
分享到

SQL_TRACE使用案例

2024-04-02 19:04:59 468人浏览 薄情痞子
摘要

  sql_TRACE主要是为了追踪SQL的执行过程,分析SQL的性能,资源消耗情况。它可以查看SQL是如何操作处理数据、在执行过程中产生了哪些等待事件,查看sql在执行过程中的资源消耗

  sql_TRACE主要是为了追踪SQL的执行过程,分析SQL的性能,资源消耗情况。

它可以查看SQL是如何操作处理数据、在执行过程中产生了哪些等待事件,查看sql在执行过程中的资源消耗、可以查看sql的递归语句,是sql的实际执行计划。

(1)开启跟踪

  • 跟踪自己的会话很简单

SQL>alter session set tracefile_identifier='mysession'; ---给当前会话一个标示,便于查找跟踪生成的文件

Alter session set sql_trace= true;
或者
exec dbms_session.set_sql_trace(true);

 

  • 如果跟踪别人的会话,需要调用一个包
    exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false);

  • 整个数据库系统跟踪


      alter system set sql_trace=true; ---在11g中已经不推荐使用

(2)执行sql语句

  SQl >select * from SCOTT.DEPT; --当前会话执行的语句

  或者如果跟踪别人的会话则等待别的会话执行sql语句

(3)关闭跟踪

  • 关闭跟踪自己的会话
    Alter session set sql_trace= false;
    或者
    exec dbms_session.set_sql_trace(false);

 

  • 如果跟踪别人的会话,需要调用一个包
    exec dbms_system.set_sql_trace_in_session(sid,serial#,false);

  • 关闭整个数据库系统跟踪


     alter system set sql_trace= false; ---在11g中已经不推荐使用
(4)查找跟踪文件

  在$oracle_BASE/admin/sid/udump下找到跟踪文件,比如前面设置标示符为'mysession'的trace文件

 

或者用脚本查看跟踪文件位置(当前会话):

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 wherem.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;

 

(5)格式化跟踪文件

 

tkprof  跟踪文件名  输出文件名

 

 (6)案例1(当前会话跟踪)

【示例】:

SQL>  alter session set tracefile_identifier='mysession';

 

会话已更改。

 

SQL>  Alter session set sql_trace= true;

 

会话已更改。

 

SQL>  select * from SCOTT.DEPT;

 

    DEPTNO DNAME                        LOC

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

        50 ACCOUNTINGCs                 NEW YORK

        60 RESEARCHcs                   DALLAS

        70 SALEScs                      CHICAGo

        80 OPERATIONScs                 BOSTON

        51 ACCOUNTINGcscs               NEW YORK

        61 RESEARCHcscs                 DALLAS

        71 SALEScscs                    CHICAGO

        81 OPERATIONScscs               BOSTON

        11 ACCOUNTINGcs                 NEW YORK

        21 RESEARCHcs                   DALLAS

        31 SALEScs                      CHICAGO

 

    DEPTNO DNAME                        LOC

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

        41 OPERATIONScs                 BOSTON

        10 ACCOUNTING                   NEW YORK

        20 RESEARCH                     DALLAS

        30 SALES                        CHICAGO

        40 OPERATIONS                   BOSTON

 

已选择16行。

 

SQL>  Alter session set sql_trace= false;

 

会话已更改。

SQL>  select d.value||'\'||lower(rtrim(i.instance,chr(0)))||'_ora_'||p.spid||'.tr

c'  trace_file_name from(select p.spid from v$mystat m, v$session s,v$process p w

here  m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr ) p, (select t.inst

ance 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 = 'u

ser_dump_dest')  d;

 

TRACE_FILE_NAME

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

 

e:\app\yan\diag\rdbms\orcl\orcl\trace\orcl_ora_1584.trc

 

进入命令行:

C:\Users\yan>e:

 

E:\>cd  E:\app\yan\diag\rdbms\orcl\orcl\trace

 

由于刚才用了标示符,所以跟踪文件多了mysessio字符串

E:\app\yan\diag\rdbms\orcl\orcl\trace>tkprof  orcl_ora_1584_mysession.trc orcl_or

a_1584_mysession.txt

 

TKPROF:  Release 11.2.0.1.0 - Development on 星期三 3月 26 15:47:50 2014

 

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

 

    案例2(跟踪别人的会话)

【示例】:

 

当前会话执行:

SQL>  select distinct sid from v$mystat;

 

       SID

----------

       134

另一个会话执行:

SQL>  select distinct sid from v$mystat;

 

       SID

----------

       141

 

当前会话执行:

SQL>  select sid,serial# from v$session where sid in (141,134);

 

       SID     SERIAL#

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

       134       7471

       141      14317

 

SQL>  execute sys.dbms_system.set_sql_trace_in_session(141,14317,true);

 

PL/SQL 过程已成功完成。

 

另一个会话执行:

 

SQL>  select count(*) from SCOTT.t1;

 

  COUNT(*)

----------

     72564

 

当前会话执行:

SQL>  execute sys.dbms_system.set_sql_trace_in_session(141,14317,false);

 

PL/SQL 过程已成功完成。

 

进入命令行:

C:\Users\yan>e:

 

E:\>cd  E:\app\yan\diag\rdbms\orcl\orcl\trace

 

由于刚才用了标示符,所以跟踪文件多了mysessio字符串:

E:\app\yan\diag\rdbms\orcl\orcl\trace>tkprof  orcl_ora_12224.trc orcl_or

a_12224.txt

 

TKPROF:  Release 11.2.0.1.0 - Development on 星期三 3月 26 15:47:50 2014

 

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

 

 

 


您可能感兴趣的文档:

--结束END--

本文标题: SQL_TRACE使用案例

本文链接: https://www.lsjlt.com/news/44307.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL_TRACE使用案例
      SQL_TRACE主要是为了追踪SQL的执行过程,分析SQL的性能,资源消耗情况。它可以查看SQL是如何操作处理数据、在执行过程中产生了哪些等待事件,查看sql在执行过程中的资源消耗...
    99+
    2022-10-18
  • 使用SQL_TRACE进行数据库诊断
    http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htm 包dbms_system定义如下: SQL> d...
    99+
    2022-10-18
  • DBUnit使用案例
    1 . 概念DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。2 . Maven集成DBUnit2.1 导包 &n...
    99+
    2022-10-18
  • Xtrabackup使用案例
    一、备份用户创建CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 'bkpuser';GRANT RELOAD, LOCK TABLES, PROCESS, R...
    99+
    2022-10-18
  • CSS的使用案例
    小编给大家分享一下CSS的使用案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 内联方式:样式定义在单个的HTML元素中 ...
    99+
    2022-10-19
  • CrashRpt使用案例详解
    CrashRpt介绍及简单应用 1、简介 CrashRpt是一个开源的第三方包,在程序出现未处理异常时,能够收集错误信息,并生成程序错误报告。CrashRpt可以将报告按照指定的方式...
    99+
    2022-11-12
  • React ref的使用案例
    本篇内容主要讲解“React ref的使用案例”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React ref的使用案例”吧!什么是 ref官网介绍:在典型的 React 数据流中,props ...
    99+
    2023-06-14
  • Scrapy使用案例分析
    这篇“Scrapy使用案例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Scrapy使用案例分析”文章吧。scrapy是...
    99+
    2023-06-28
  • Android ActivityManager使用案例详解
    前言 Activity可以获取运行中的应用信息,可以获取到servcie,process,app,memory,Task信息等。 获取信息 ActivityManager....
    99+
    2022-11-12
  • Android Handler使用案例详解
    什么是Handler? Handler可以发送和处理消息对象或Runnable对象,这些消息对象和Runnable对象与一个线程相关联。每个Handler的实例都关联了一个线程和线程...
    99+
    2022-11-12
  • C# PropertyGrid使用案例详解
    1. 只有public的property能显示出来,可以通过BrowsableAttribute来控制是否显示,通过CategoryAttribute设置分类,通过Descripti...
    99+
    2022-11-12
  • C# AttributeUsage使用案例详解
    C# AttributeUsage的使用是如何的呢?首先让我们来了解一下什么是AttributeUsage类它是另外一个预定义特性类,AttributeUsage类的作用就是帮助我们...
    99+
    2022-11-12
  • Android VelocityTracker使用案例详解
       VelocityTracker顾名思义即速度跟踪,在android中主要应用于touch even。VelocityTracker通过跟踪一连串事件实时计算...
    99+
    2022-11-12
  • Linux awk使用案例教程
    awk脚本...
    99+
    2023-06-05
  • SpringMVC使用RESTful接口案例
    目录控制器Controller方法一-实现Controller接口方式二-使用注解@Controller@RequestMappingRestFul风格控制器Controller 控...
    99+
    2022-12-08
    SpringMVC RESTful SpringMVC RESTful接口 Java RESTful
  • SpringCloudFeign的使用案例详解
    目录Feign简介使用传参拓展配置超时、连接时间日志打印Feign简介 Feign是Netflix开发的⼀个轻量级RESTful的HTTP服务客户端(⽤它来发起请求,远程调⽤的),是...
    99+
    2023-02-09
    Spring Cloud Feign使用 Spring Cloud Feign
  • IOS NSTimeInterval使用案例详解
    一 ios 获取时间间隔 想在程序开始或者进入某个界面 ,到结束程序或退出某个界面,获取到这个持续时间. 获取到这个时间还需要转化一个取得时分秒. -(NSString *)ge...
    99+
    2022-06-01
    IOS NSTimeInterval
  • Oracle SQL*Loader使用案例(三)
          上两篇文章中,介绍了SQL*Loader的使用方法及使用案例,本篇将根据实际的使用案例来更深层次的来解读SQL*Loader     &nbs...
    99+
    2022-10-18
  • 使用Vuex的案例分析
    这篇文章给大家分享的是有关使用Vuex的案例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Vuex?vuex是专门为vue.js应用程序开发的一种状态管理模式,当多个视...
    99+
    2022-10-19
  • 使用SQL的案例分析
    小编给大家分享一下使用SQL的案例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 需求 所有部门汇总的结果的打分。大部分...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作