oracle笔记整理15——性能调优之trace文件跟踪
来源:互联网 发布:淘宝找不到菜鸟驿站 编辑:程序博客网 时间:2024/04/29 17:23
1) sql_trace方式
a) show parameter sql_trace;–查看trace状态,默认为false
b) alter session set sql_trace=true;–修改为true
c) exec sql;–运行sql语句
d) alter session set sql_trace=false;–恢复回false状态
e) show parameter dump_dest;–trace类型
f) select value from v$parameter where name = ‘user_dump_dest’;–生成的trace文件所在地址
g) 动态性能视图查找生成的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 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;
h) 转换trace文件cmd窗口中tkprof命令
--tkprof trace文件 output=输出文件;C:\Users\Administrator>tkprof e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_47912.trc output=d:\aa.txt sys=no explain=账号/密码;
i) 对于每一条SQL语句,都包含3个步骤:
Parse:SQL的分析阶段.
Execute:SQL的执行阶段.
Fetch:数据提取阶段.(对于一次SQL操作,Fetch可能多次)
j) 横向的标题头为:
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
count:当前的操作执行的次数.
cpu:当前操作消耗的CPU时间(秒).
elapsed:当前操作消耗的时间(CPU时间加等待时间).
disk:磁盘的IO次数.
query:当前操作的一致性读取的数据块数.
current:前操作的current读取的数据块数(通常在update操作时发生).
rows:处理的记录行数.
k) Misses in library cache during parse
是指是不是重用了执行计划,如果同一条SQL语句第二次执行,其值为零,这里是1,表示在共享池里没有这一条SQL的执行计划,发生了一次硬解析.
Optimizer:优化器模式.
Parsing user id:分析的用户ID.
l) Row Source Operation部分包含的实际消耗的资源.
cr:一致性读取的数据块,相当于Fetch的query.
pr:物理读, 相当于Fetch的disk.
pw:物理写.
time:当前操作的执行时间.
2) 10046事件
10046事件按照收集的信息内容,分为4个级别
level1: 等同于前面介绍的sql_trace;
level4: 在level1的基础上增加绑定变量的收集;
level8: 在level1的基础上增加等待事件的收集;
level12: 等同于level4+level8(所以这个级别用的最普遍);
a) 开启当前会话,级别为12的10046事件
ALTER SESSION SET EVENTS'10046 trace name context forever, level 12';
b) 关闭当前会话,任何级别的10046事件
ALTER SESSION SET EVENTS'10046 trace name context off';
c) 执行sql语句,并使用动态sql查找生成的trace文件;
d) 转换trace文件cmd窗口中tkprof命令
--tkprof trace文件 output=输出文件;C:\Users\Administrator>tkprof e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6488.trc output=d:\10046.txt sys=no explain=账号/密码;
- oracle笔记整理15——性能调优之trace文件跟踪
- ArcSDE性能分析——跟踪Oracle的Trace文件
- Oracle跟踪文件trace文件
- Oracle性能分析:开启SQL跟踪和获取trace文件|trace文件解读
- ORACLE文件之跟踪文件(trace file)
- oracle笔记整理11——性能调优之oracle等待事件与表关联
- oracle笔记整理14——性能调优之oracle执行计划
- oracle笔记整理9——性能调优之索引、表分区、索引分区
- oracle笔记整理10——性能调优之临时表与物化视图
- oracle笔记整理12——性能调优之hint标签
- oracle笔记整理13——性能调优之SQL优化
- oracle笔记整理——性能调优之索引、表分区、索引分区
- Oracle性能分析1:开启SQL跟踪和获取trace文件
- Oracle性能分析1:开启SQL跟踪和获取trace文件
- oracle性能调优之--Oracle sql语句跟踪
- oracle性能调优-sql trace工具
- oracle 跟踪文件理论整理
- Oracle跟踪文件trace文件的格式说明
- iOS开发多线程篇—GCD介绍
- 2016-01-16linux下的ssh相关
- 大数据IMF传奇行动 IDEA 安装运行 编译出错Error:scalac: Multiple 'scala-library*.jar'
- sqoop的常见操作
- windows运维脚本:通过vbscript更新excel文档oracle数据源
- oracle笔记整理15——性能调优之trace文件跟踪
- web.xml配置文件详解
- JavaWeb注册并把数据存入数据库
- EditPlus注册码在线生成,删除utf-8BOM,完美解决php文件乱码问题
- VB6 codesmart 出现问题解决
- Android使用UncaughtExceptionHandler捕获全局异常
- linux下强大的网络管理工具ethtool学习小结
- HTML5绘图基础_02_绘制线条
- 记忆力的训练