`
wsql
  • 浏览: 11791072 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Oracle SQL Trace

 
阅读更多

SQL Trace收集方法

Current Session Level

1.Enable Sql Trace
alter session set sql_trace = true;
alter session set statistics_level = ALL;
alter session set timed_statistics = true;
alter session set max_dump_file_size = unlimited;
alter session set tracefile_identifier = ptian123;

蓝色部分,非必须执行的脚本;tracefile_identifier为trace标识符,用于快速找到sqltrace文件;


2.set TRACING LEVELS
--Setting level 12 trace to get bind values and wait states information
ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';

3.Execute your sqls

4.Disable Sql Trace
alter session set events '10046 trace name context off';

ALTER SESSION SET sql_trace = false;


Other Session Level

1.Get other session SID & SERIAL#
select sid,serial#,username from v$session where username = 'xxx';
SID SERIAL#
----- ----------
11 13442

2.Enable Sql Trace
alter system set timed_statistics = true;
execute dbms_system.set_sql_trace_in_session (<SID>, <SERIAL#>, true);

3.

Wait for a while,capture the sql


4.Stop the trace
execute dbms_system.set_sql_trace_in_session(<SID>, <SERIAL#>, false);


Whole Database Level

方法一:
1.Start SQL Trace on the complete database:
alter system set sql_trace = true scope=memory;

2.Stop SQL Trace on the complete database:
alter system set sql_trace = false scope=memory;

方法二:
参数文件(pfile/spfile)中指定: SQL_TRACE = true


如何找到SQL Trace文件

查看user_dump_dest目录, 执行linux命令

ls *ptian01*
就会找到类似"SID_ora_nnnn_PTIAN01.trc"名字的trace文件。

或者执行下边这个Query,可以获取当前session Sql Trace的文件目录+名称

SELECT
  u_dump.value   || '/'     ||
  db_name.value  || '_ora_' ||
  v$process.spid ||
  nvl2(v$process.traceid,  '_' || v$process.traceid, null )
  || '.trc'  "Trace File"
from
             v$parameter u_dump
  cross join v$parameter db_name
  cross join v$process
        join v$session
          on v$process.addr = v$session.paddr
where
 u_dump.name   = 'user_dump_dest' and
 db_name.name  = 'db_name'        and
 v$session.audsid=sys_context('userenv','sessionid');
output like:

/u01/oracle/mc3yd213/db/tech_st/11.1.0/admin/mc3yd213_bej301441/diag/rdbms/mc3yd213/mc3yd213/trace/mc3yd213_ora_9593.trc



Parameters

TIMED_STATISTICS
This enables and disables the collection of timed statistics, such as CPU and elapsed times, by the SQL Trace facility, as well as the collection of various statistics in the dynamic performance tables. The default value of false disables timing. A value of true enables timing. Enabling timing causes extra timing calls for low-level operations. This is a dynamic parameter. It is also a session parameter.

MAX_DUMP_FILE_SIZE
When the SQL Trace facility is enabled at the instance level, every call to the server produces a text line in a file in the operating system's file format. The maximum size of these files (in operating system blocks) is limited by this initialization parameter. The default is 500. If you find that the trace output is truncated, then increase the value of this parameter before generating another trace file. This is a dynamic parameter. It is also a session parameter.

STATISTICS_LEVEL
controls all major statistics collections or advisories in the database.
BASIC: No advisories or statistics are collected.
TYPICAL: The following advisories or statistics are collected:
Buffer cache advisory
MTTR advisory
Shared Pool sizing advisory
Segment level statistics
PGA target advisory
Timed statistics
ALL: All of the preceding advisories or statistics are collected, plus the following:
Timed operating system statistics
Row source execution statistics

10046 Event Levels
10046 0 No statistics generated
10046 1 Standard trace output including parsing, executes and fetches plus more
10046 2 Same as Level 1
10046 4 Level 1 + Bind Variables
10046 8 Level 1 + Waits
10046 12 Level 1 + Bind Variables & Waits


Good Reference:http://www.jlcomp.demon.co.uk/faq/Tracing_Oracle_session.pdf

转载请注明出处:http://blog.csdn.net/pan_tian/article/details/8028297


分享到:
评论

相关推荐

    SQL Trace and TKPROF

    SQL Trace and TKPROF

    大牛出手Oracle SQL优化实例讲解

    6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加几个实例 8.autotrace验证压缩表性能 9.autotrace验证消除子查询后的性能 10.基于基本的优化CBO 11.如何统计数据库数据 12.Oracle如何统计操作系统数据 13./*...

    SQL执行计划之sql_trace

    介绍:sql_trace命令会将执行的整个过程输出到一个trace文件,我通过阅读这个trace文件来了解这个sql在执行过程中Oracle究竟做了哪些事情

    10046事件和sql_trace.docx

    10046事件和sql_trace.docx

    SQL TRACE原理、方法、事件查看总结

    SQL TRACE原理、方法、事件查看 总结, 还包括10046,10053事件的讲解

    ct.zip_trace

    This is simple but very useful Oracle SQL Trace Parser.

    Oracletrace

    Oracle中的trace跟踪不仅可以跟踪当前的运行情况,还可以对SQl语句的执行进行跟踪

    oracle系统状态trace文件分析器

    oracle系统状态trace文件分析器 当系统hang住时,或者进程间有阻塞时,你可以产生下面两种跟踪文件,一种是进程状态跟踪文件,一种是系统状态跟踪文件:  process state dumps ==&gt; 一个进程的所有对象状态,...

    oracle跟踪sql语句.txt

    oracle有三种方式跟踪sql: 1、审计 2、trigger 3、利用 dbms_support 查看sql_trace 现在主要讲第三种方式: ...参见网址:https://www.cnblogs.com/shenfeng/p/oracle_sql_trace.html,步聚如下:

    oracle的sql优化

     通过SQLPLUS中的SET TRACE 功能对Sql语句的性能进行分析  通过Toad或PL/SQL Developer对语句的性能进行和索引的使用情况进行分析  对Oracle缺省的优化不满意可以强制使用Hint,但一般不推荐使用  对Flag等只...

    如何使用oracle提供的SQL_TRACE来跟踪sql的执行情况

    如何使用oracle提供的SQL_TRACE来跟踪sql的执行情况?Sql性能非常差的时候,oracle提供了SQL_TRACE来跟踪sql的执行情况。注:分析sql的方式比较多,还有根据优化器、sql执行计划来分析。SQL_TRACE能够将sql执行的过程...

    Oracle 8i PL SQL高级程序设计

    2) 使用包DBMS_DEBUG和 DBMS_TRACE跟踪调试PL/SQL应用。 3) 使用包DBMS_JOB调度PL/SQL任务在指定时间自动运行。 4) 使用包UTE_FILE直接读写操作系统文件。 5) 使用Pro*C和嵌入SQL语言编制外部例程。 6) 使用动态...

    sqlmonitor

    sqlmonitor 1. 找出sid和serial# select sid,serial#,osuser from v$session t where t.USERNAME='USERNAME' 2. 开始sqltrace ... execute dbms_system.set_... 例: tkprof sqltrace文件.trc a.out 8. 打开a.out

    Oracle PL/SQL PRofiler应用指南

    Profiler是ORACLE PL/SQL 的一个调试优化跟踪方案的应, 相对sqltrace+tkprof工具调试优化跟踪方案来说, Profiler有最直观更方便的优点,因为不需要生成和读取服务器端的跟踪文件,它是将跟踪数据全部存储的数据库...

    从Oracle到SQL Server的透明网关配置

    1: 运行oracle 安装软件,安装类型选自定义,选择里面的安装oracle transparent gateway 9.2.0.1.0,下面的oracle transparent gateway from microsoft sql server 9.2.0.1.0,这里可以看到,还可以选择其他的数据库...

    Oracle PL_SQL高级程序设计

    2) 使用包DBMS_DEBUG和 DBMS_TRACE跟踪调试PL/SQL应用。 3) 使用包DBMS_JOB调度PL/SQL任务在指定时间自动运行。 4) 使用包UTE_FILE直接读写操作系统文件。 5) 使用Pro*C和嵌入SQL语言编制外部例程。 6) 使用动态...

    Oracle 10g + SQL SERVER 2000 透明网关设置

    环境:Oracle 10g + SQL SERVER 2000 数据库:Oracle:ZNDATA;SQL SERVER:ZNDB 目标:在oracle下建立一个tnsname用来访问SQL SERVER的ZNDB数据库. (1)建立ZNDB数据库在Oracle下的别名zheneng: 进入%ORACLE_HOME%\tg4...

    oracle9i oracle11g oracle10g 性能调优 基础学习 视频地址

    1z0-033-11(A)(好) SQL优化 SQL优化器的使用 查询计划 计划稳定性的概要 TRACE TKTOP使用 13 1z0-033-11(B) 13 1z0-033-11(B) 发布不同oracle文件的原因 诊断表空间 表空间分区原因 检查点工作 检查点优化 调整...

    oracle获得跟踪文件的sql查询语句

    本文件包括在Linux和Windows平台下查询trace文件的sql语句,很实用的sql文件,值得珍藏

    Oracle 8i PL SQL高级程序设计(PDF)

    2) 使用包DBMS_DEBUG和 DBMS_TRACE跟踪调试PL/SQL应用。 3) 使用包DBMS_JOB调度PL/SQL任务在指定时间自动运行。 4) 使用包UTE_FILE直接读写操作系统文件。 5) 使用Pro*C和嵌入SQL语言编制外部例程。 6) 使用动态SQL...

Global site tag (gtag.js) - Google Analytics