代码改变世界

Oracle 10046 trace文件分析

  abce  阅读(2058)  评论(0编辑  收藏  举报

生成10046 trace文件:

 

10046 trace 文件的内容:

 

10046 trace 文件内容分析:

1.数据库调用
含3个子分类:解析,执行和获取
这3个分类与通过调用DBMS_SQL的子例程DBMS_SQL.PARSE,DBMS_SQL.EXECUTE,DBMS_SQL.FETCH_ROWS来跑SQL的步调相一致
解析在跟踪文件中通常通过两个相邻的条目表示:第一个是PARSING IN CURSOR,第二个是PARSE。如下所示:

(1)PARSING IN CURSOR各项的具体含义

参数 说明
len 表示sql语句文本字节长度   #"select count(*) from t10046"字节长度为27
dep 递归调用深度  #本次调用深度为0
uid 解析用户标识符,对应于all_users.user_id以及v$sql.parsing_user_id  #本次是以sys用户执行的,故uid=0
oct oracle命令类型,对应于v$sql.command_type以及v$session.command  #select对应类型是3
lid 解析模式标识符,对应于all_users.user_id以及v$sql.parsing_schema_id,可能与uid不同
tim 微秒单位时间戳,在关联的parse条目中通常比tim的值早一点
hv 哈希值,对应于v$sql.hash_value
ad address,对应于v$sql.address
sqlid sql id,对应与v$sql.sql_id

 

 

 

 

 

 

 

 

 

 

(2)PARSE各项的具体含义

参数 说明
c cpu开销
e 运行时间
p 物理读
cr 一致读
cu 当前处理的数据块
mis 游标丢失,0表示软解析;1表示硬解析
r 被处理的数据行
dep 递归调用深度
og 优化目标。1:all_rows,2:first_rows,3:rule,4:choose。oracle 10g 后默认是all_rows
plh 执行计划的hash值。对应于v$sql_plan.plan_hash_value,v$sql_plan_statistics_all.plan_hash_value以及v$sqlstats.plan_hash_value
tim 时间戳,单位为微秒

 

 

 

 

 

 

 

 

 

 

 

 

2.执行计划,统计信息与STAT条目格式

一组STAT条目的每一行代表了形成语句结果的行源。所谓的行源,指从索引或表中检索的数据或者多表连接的中间结果(因为必须先进行两表连接)。
10g以后,STAT条目仅在TIMED_STATISTICS=TRUE,并且SQL_TRACE=TRUE时才被写入。请注意,若STATISTICS_LEVEL=BASIC(缺省为TYPICAL)时会隐式设置TIMED_STATISTICS=FASLE。

(1)stat说明

参数 说明
id 执行计划中指示行数据源顺序的标识符,通常一个执行计划的第一条stat行的id=1
cnt 被处理的行数
pid 父标识符,通常一个执行计划的第一条stat行的pid=0。通过比一个计划的父步骤高一个级别缩进的依赖步骤,tkprof和esqltrcprof使用id以及pid生成适当缩进的执行计划
pos 父步骤中的一个步骤的位置
obj 对象标识符,对应于all_objects.object_id和v$sql_plan.object#
op 执行的行数据源操作,比如表访问、索引扫描、排序、联合等,对应于v$sql_plan.operation。在10g中,在行数据源信息后面op的括号中包含实际语句执行指标
cr 一致性读
pr 物理读
pw 物理写
time 估计的运行时间,单位为微秒
cost cbo计算的执行计划成本
size 估计的数量,单位为字节
card 估计的基数,即被处理的行数

 

 

 

 

 

 

 

 

 

3.等待事件和WAIT条目格式

参数 说明
ela 运行时间,单位为微秒
p1 等待事件的第一个参数。对应于v$session_wait.p1
p2 等待事件的第二个参数。对应于v$session_wait.p2
p3 等待事件的第三个参数。对应于v$session_wait.p3
tim 时间戳
file# 绝对文件编号
block# 数据块号
blocks 数据块数量
obj# 对象编号,就是object_id
nam 等待事件的名称

 

 

 

 

 

 

 

 

 

 

 

参考:http://blog.itpub.net/29320885/viewspace-1223962/

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示