1.设置参数文件
设置三个参数timed_statistics、user_dump_dest、max_dump_file_size。
timed_staticstices
用于启动或禁止对定时统计信息(如CPU时间、占用时间),以及动态性能表中多种统计信息的收集功能SQL>alter session set timed_statistics = true;SQL>alter system set timed_statistics = true;
max_dump_file_size当实例层启用
SQL TRACE的时候,在每次请求
服务器的时候,都将在跟踪文件中产生一个文本行,这些文件的最大尺寸受限于初始化参数的设置。默认为500(blocks)。若里面的数据被截断则增大SIZE。若为UNLIMITED则意味着没有上限。
user_dump_dest设置跟踪文件的存储位置。默认为admin/用户/udump;SQL>alter system set user_dump_dest = "newdir";
2.启动SQL TRACE实用工具
对会话启动关闭SQL TRACESQL>alter session set sql_trace = true;SQL>alter session set sql_trace = false;SQL>exec SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION =(SID,SERIAL#,TRUE);SQL>exec SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION =(SID,SERIAL#,FALSE);对用户实例启动关闭SQL TRACESQL>alter system set sql_trace = true;SQL>alter system set sql_trace = false;
3.使用tkprof格式化trace文件
Usagetkprof inputfile outputfile [optional | parameters ]
(tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ])例:1.tkprof tracefile outfile [explain=user/password] [options...];例:2.tkprof uat_ora_14936.trc trace.txt sort=(prsdsk,exedsk,fchdsk) print=10 explain=apps/apps table=apps.temp_plan_table_a insert=storea.sql sys=no
tkprof参数和选项- explain=user/password 执行explain命令将结果放在SQL trace的输出文件中
- table=schema.table 指定tkprof处理sql trace文件时临时表的模式名和表名
- insert=scriptfile 创建一个文件名为scriptfile的文件,包含了tkprof存放的输出sql语句
- sys=[yes/no] 确定系统是否列出由sys用户产生或重调的sql语句
- print=number 将仅生成排序后的第一条sql语句的输出结果
- record=recordfile 这个选项创建一个名为recorderfile的文件,包含了所有重调用的sql语句
- sort=sort_option 按照指定的方法对sql trace的输出文件进行降序排序
- sort_option 选项
- prscnt 按解析次数排序
- prscpu 按解析所花cpu时间排序
- prsela 按解析所经历的时间排序
- prsdsk 按解析时物理的读操作的次数排序
- prsqry 按解析时以一致模式读取数据块的次数排序
- prscu 按解析时以当前读取数据块的次数进行排序
- execnt 按执行次数排序
- execpu 按执行时花的cpu时间排序
- exeela 按执行所经历的时间排序
- exedsk 按执行时物理读操作的次数排序
- exeqry 按执行时以一致模式读取数据块的次数排序
- execu 按执行时以当前模式读取数据块的次数排序
- exerow 按执行时处理的记录的次数进行排序
- exemis 按执行时库缓冲区的错误排序
- fchcnt 按返回数据的次数进行排序
- fchcpu 按返回数据cpu所花时间排序
- fchela 按返回数据所经历的时间排序
- fchdsk 按返回数据时的物理读操作的次数排序
- fchqry 按返回数据时一致模式读取数据块的次数排序
- fchcu 按返回数据时当前模式读取数据块的次数排序
- fchrow 按返回数据时处理的数据数量排序
4.举例:
trace其他session查询某用户的session的SID及SERIAL#$sqlplus / as sysdbaSQL>select s.USERNAME,s.SID,s.SERIAL#,s.COMMAND from v$session swhere s.USERNAME="ETOH" ; --注意用户名用大写SQL>exec dbms_system.SET_SQL_TRACE_IN_SESSION(12,73,true);等待被跟踪session活动一段时间SQL>exec dbms_system.SET_SQL_TRACE_IN_SESSION(12,73,false);--查询生成的.trc文件号SQL>SELECT d.value || "/" || lower(rtrim(i.instance, chr(0))) || "_ora_" || p.spid || ".trc" trace_file_name from (select p.spid from v$session s, v$process p where s.sid = &sid and s. SERIAL# = &serial#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;--使用tkprof生成分析文件$tkprof /u01/app/Oracle/admin/center/udump/<SID>_ora_24012.trc/u01/app/oracle/admin/center/udump/center_ora_24012.txt aggregate=yes sys=no sort=fchela(此例中将执行最耗时的sql放在分析文件的开头)
trace本session查询本session信息SQL>SELECT Sid, Serial# FROM V$session WHERE sid = Sys_Context ( "USERENV" , "SID" );SQL>alter session set sql_trace=true;SQL>#SQL Statements#SQL>alter session set sql_trace=false;查询生成的trace文件名SQL>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;tkprof格式化处理$tkprofcenter_ora_24012.trccenter_ora_24012.txt {一系列参数}Oracle外部表处理中文字符Oracle嵌套事务(Nested Transaction)与自治事务(Autonomous Transaction)详解相关资讯 Oracle数据库 Oracle入门教程 oracle数据库教程
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
|
本文评论 查看全部评论 (0)