oracle trace文件解读
oracle trace文件解析
=====================
PARSING IN CURSOR #1 len=68 dep=0 uid=59 oct=42 lid=59 tim=12047812267 hv=570864185 ad='66bd0bc4'
alter session set events '10046 trace name context forever,level 12'
END OF STMT
EXEC #1:c=0,e=89,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=12047812255
WAIT #1: nam='SQL*Net message to client' ela= 5 p1=1111838976 p2=1 p3=0
WAIT #1: nam='SQL*Net message from client' ela= 3350384 p1=1111838976 p2=1 p3=0
=====================
PARSING IN CURSOR #1 len=57 dep=0 uid=59 oct=3 lid=59 tim=12051164358 hv=1391558827 ad='66bfe7d8'
select count(*) from emp a,dept b where a.deptno=b.deptno
END OF STMT
PARSE #1:c=0,e=76,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=12051164349
BINDS #1:
EXEC #1:c=0,e=192,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=12051165308
WAIT #1: nam='SQL*Net message to client' ela= 7 p1=1111838976 p2=1 p3=0
FETCH #1:c=0,e=140,p=0,cr=5,cu=0,mis=0,r=1,dep=0,og=4,tim=12051165720
WAIT #1: nam='SQL*Net message from client' ela= 302 p1=1111838976 p2=1 p3=0
FETCH #1:c=0,e=4,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=12051166486
WAIT #1: nam='SQL*Net message to client' ela= 4 p1=1111838976 p2=1 p3=0
WAIT #1: nam='SQL*Net message from client' ela= 3248265 p1=1111838976 p2=1 p3=0
STAT #1 id=1 cnt=1 pid=0 pos=1 obj=0 op='SORT AGGREGATE '
STAT #1 id=2 cnt=14 pid=1 pos=1 obj=0 op='NESTED LOOPS '
STAT #1 id=3 cnt=14 pid=2 pos=1 obj=30139 op='TABLE ACCESS FULL EMP '
STAT #1 id=4 cnt=14 pid=2 pos=2 obj=30138 op='INDEX UNIQUE SCAN PK_DEPT '
=====================
PARSING IN CURSOR #1 len=55 dep=0 uid=59 oct=42 lid=59 tim=12054418195 hv=3381932903 ad='66bd7b34'
alter session set events '10046 trace name context off'
END OF STMT
PARSE #1:c=15625,e=703,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,
tim=12054418182
BINDS #1:
EXEC #1:c=0,e=321,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=12054419670
#######################################
PARSING IN CURSOR #1 len=68 dep=0 uid=59 oct=42 lid=59 tim=12047812267 hv=570864185 ad='66bd0bc4'
PARSING IN CURSOR 部分
------------------------------------------
Cursor# 游标号
len SQL语句的长度
dep SQL语句的递归深度
Uid 当前模式中的用户ID
Oct Oracle命令类型
Lid 用于核对访问权限的用户ID
Tim 一个计时器,精度以1%秒为单位
Ha SQL语句的散列ID号
Ad 指向SQL语句的V$SQLAREA的ADDR列
PARSING EXEC,FETCH 部分
------------------------------------------
EXEC Cursor#:c=%d,e=%d,p=%d,cr=%d,cu=%d,mis=%d,r=%d,dep=%d,og=%d,tim=%d
EXEC #1:c=0,e=89,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=12047812255
Cursor# 光标号
c: 以1%秒为单位的CPU运行时间
e : 以1%秒为单位的经过的时间
p : 所执行的物理读的数量
cr : Consistent模式下的读(逻辑输入/输出)
cu : Current模式下的读(逻辑输入/输出)
mis :硬分析次数
r : 处理的行数
dep :SQL语句的递归深度
og : 优化器目标,1=所有行,2=起始行,3=规则,4=选择
tim: 计时器,精度以1%秒为单位的时间
PARSE 分析一个语句
FETCH 从游标中取出所需行时
UNMAP 用以从程序运行中间结果中释放一些不再用到的临时段
SORT UNMAP 和unmap类似,只不过用于排序段
WAIT Cursor#:nam='%s' ela=%d p1=%ul p2=%ul p3=%ul
WAIT #1: nam='SQL*Net message to client' ela= 5 p1=1111838976 p2=1 p3=0
WAIT #1: nam='SQL*Net message from client' ela= 3350384 p1=1111838976 p2=1 p3=0
Cursor# 游标号
nam 等待事件的名称。Oracle Server Reference中列出了全部等待事件,并有详细解释
ela 以1%秒为单位的事件经过的时间
p1,p2,p3 专门用于等待事件的参数。每一个事件都有它自己的一套参数。
参考Oracle Server Reference中关于特定等待事件的参数p1,p2,p3的含义
BINDS #4:
bind 0:dty=2 mxl=22(21) mal=00 scl=00 pre=00 oacflg=03 oacf12=1 size=24 offset=0
bfp=07425360 bln=22 avl=03 flg=05
value=7698
cursor # 游标号
bind N 绑定位置,从0开始(0是第一个绑定变量)
dty 数据类型,dty数据类型的数字用USER_TAB_COLUMNS视图的信息来解码
mxl 绑定变量的最大长度
mal 最大最组的长度(当用到数组绑定变量或批操作时)
scl 比例
pre 精度
oacflg 内部标记,这个数字若是奇数,绑定变量就是空(允许有空值)
ocaf12 内部标记的扩展
size 缓冲区的大小
bfp 绑定地址
bln 绑定缓冲区的长度
avl 实际值的长度
flg 内部标记
value 绑定值的字符串的表示(如果可能,是16进制转储),这正是想要得到的
如何解析等待资源?
WAIT #4: nam='enqueue' ela=308 p1=1415053318 p2=393290 p3=2947
create or replace function enqueue_decode(l_p1 in number) return varchar2
as
l_str varchar2(25);
begin
select chr(bitand(l_p1,-16777216)/16777215) ||
chr(bitand(l_p1,16711680)/65535) || ' ' ||
decode(bitand(l_p1,65535),
0,'No lock',
1,'No lock',
2,'Row-Share',
3,'Row-Exclusive',
4,'Share',
5,'Share Row-Excl',
6,'Exclusive')
into l_str
from dual;
return l_str;
end;
/
STATS 部分
------------------------------------------
select enqueue_decode(1415053318) from dual;
XCTEND rlbk=0,rd_only=0
rlbk 返回标记,0表示提交过了,1表示返回
rd_only 只读标记,1表示事务是只读的,0可以进行改动,提交或返回
WAIT #0:nam='log file sync' ela=0 p1=988 p2=0 p3=0
STAT #4 id=1 cnt=1 pid=0 pos=0 obj=0 op='UPDATE EMP'
STAT #4 id=1 cnt=1 pid=1 pos=1 obj=24767 op='TABLE ACCESS FULL EMP'
cursor # 游标号
id 解释方案中的行,从1到该方案中的行数
cnt 通过查询方案此阶段的行数
pid 方案中这一步的父ID。用于以缩进恰当地反映方案的层次结构
pos 解释方案中的位置
obj 可用情况下,引用对象的目标ID
op 已执行操作的原文描述
PARSE ERROR #3:len=15 dep=0 uid=69 oct=3 lid=69 tim=7160573 err=903
Cursor# 游标号
len SQL语句的长度
dep SQL语句的递归深度
Uid 当前模式中的用户ID
Oct Oracle命令类型
Lid 用于核对访问权限的用户ID
Tim 一个计时器,精度以1%秒为单位
err ORA错误代码,可以执行如下方式得到错误的内容:
EXEC DBMS_OUTPUT.PUT_LINE(SQLERRM(-903));
oracle trace文件解读相关推荐
- 如何查看oracle trace 文件
获得当前trace文件生成路径 SQL> select tracefile from v$process where addr in (select paddr from v$session w ...
- oracle取位置,获取oracle trace文件路径
10g: /* 11g依然有效 */SELECT d.VALUE || '/' || LOWER (RTRIM (i.instance, CHR (0))) || '_ora_' || p.sp ...
- oracle 大量trace,Trace文件过量生成问题解决
随着Oracle技术本身的不断发展,"自动化"和"智能化"的数据库时代已经来临.无论是运维管理.开发调试,传统DBA们的工作内容都已经发生了很大变化.一些诸如内 ...
- [Oracle运维工程师手记] 如何从trace 文件,判断是否执行了并行
[Oracle运维工程师手记系列]如何从trace 文件,判断是否执行了并行 客户说,明明指定了并行的hint,OEM 却报说没有并行,并且提供了画面. 客户的SQL文长这样: INSERT/*+ p ...
- oracle gather trace,Oracle 12C R2-新特性-新增两个视图:方便查看trace文件和内容
Oracle 12C R2-新特性-新增两个试图-方便查看trace文件和内容 在12.2中,Oracle新增了两个V$DIAG_TRACE_FILE and V$DIAG_TRACE_FILE_CO ...
- Oracle跟踪文件trace文件
一.Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动.关闭和运行期间后台进程的活动情况,如表空间创建.回滚段创建.某些alter命令.日 ...
- oracle数据库listener开启和关闭trace文件的方法
linux下监听文件listener.ora在哪 一般在 $ORACLE_HOME/network/admin下面 可以用find 命令找一下:find $ORACLE_BASE -name list ...
- 【Oracle】利用trace文件重建控制文件
重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...
- oracle使用sql关闭trace日志,Linux清理Oracle日志巧用close_trace命令释放误删trace文件...
可能很多朋友都遇到过这样的情况,在UNIX/Linux上定期清理Oracle日志文件夹时可能删除到仍被后台进程open着的trace文件,即某些后台进程一直持有着这些"被已经误删了的&quo ...
最新文章
- zynq tcp如何从网口发数据_ZYNQ_PL与PS的DDR交互
- java script w3c study notes
- SCCM2012 RBA
- VirtualBox中的Linux读取Windows共享目录
- 【Linux开发】linux设备驱动归纳总结(九):1.platform总线的设备和驱动
- 如何在ubuntu下安装source insight
- 可网管交换机与非网管交换机的区别
- H.264中POC类型之探讨
- 使用MinGW编译Psycopg2
- linux 下各个工具使用(screen、tmux,pyenv、virtualenv,pip国内源,tree)
- Virtual Serial Port Driver虚拟串口vspd v7.2 下载及破解方法
- 计算机用户注册表修改,如何通过注册表修改桌面计算机/用户文档图标
- 43.一维卷积-航空公司评论情感预测
- 造数神器mocker带你10分钟完成千万级别数据量的造数能力-高级用法篇
- Oracle的四分位数函数
- 一个简单T9输入法的实现
- 模糊神经网络应用实例,神经网络与模糊控制
- c语言考试的说说带图片致自己,励志说说带图片致自己
- 解决IIS存储空间不足的问题
- 如何制作电子文档CHM(How to gernerate chm from assembly)
热门文章
- 阿里巴巴26个前端开源项目
- Java集合框架上机练习题:用户分别从两个文本框输入学生的姓名和分数.............
- PHP 依赖注入,从此不再考虑加载顺序
- class priority_queue 简单介绍
- [转]MacBook Pro上装三系统 OS X、Ubuntu、Win 7
- step1 . day1:工具准备
- Django框架基础知识05-自定义模板标签与过滤器
- Metasploit Framework(1)基本命令、简单使用
- java集合(4)-Set集合
- PXE 01-PXE介绍