Oracle SQL语句追踪
Oracle SQL语句追踪
1 SQL语句追踪
追踪SQL语句的执行过程需要在Oracle服务器端进行,Oracle服务器端会检测并记录访问进程所执行的所有SQL语句。下面使用的命令都是在命令行模式下执行的,所以我们需要使用命令行以管理员身份登陆Oracle数据库。下面就是该工具使用的详细步骤。
首先要追中SQL语句,我们需要确定追踪客户端进程的会话ID,下面命令枚举了当前服务器所有访问进程会话ID和串口,然后选择需要检测的会话ID和串口。
Select username, sid, serial# from v$session where username is not null;
然后针对选中的会话ID和串口进行SQL语句追踪,如下命令所示。
EXECUTE sys.dbms_system.set_sql_trace_in_session(, , TRUE);
开始追踪SQL语句后,我们可以在客户端进行操作,而这些操作过程使用的SQL语句都将被记录下来,直到我们结束SQL语句追踪。
最后客户端操作完成之后,使用下面命令便可以结束SQL语句追踪。
EXECUTE sys.dbms_system.set_sql_trace_in_session(, , FALSE);
追中结束后Oracle服务端文件夹下会产生一个最新的.trc后缀的文件,我们可以使用Search Everything工具查找最近时间生产的.trc文件,然后使用tkprof工具对该文件进行解析。
2 TRC文件解析
解析生成的.trc文件,需要使用tkprof工具,该工具有非常多的复杂参数可供使用,如果不做复杂要求,可以使用下面简单的命令将.trc文件输出成文本文件。
解析命令如下:
tkprof sqlplus_007.trc out.txt
sqlplus_007.trc为数据追踪文件
out.txt 为输出格式化文件
打开out.txt文件,便可以查阅到SQL语句的执行情况。
Oracle SQL语句追踪的更多相关文章
- Oracle sql语句执行顺序
sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...
- Oracle SQL语句执行过程
前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...
- [转]关于oracle sql语句查询时表名和字段名要加双引号的问题
oracle初学者一般会遇到这个问题. 用navicat可视化创建了表,可是就是不能查到! 后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...
- Oracle SQL语句执行步骤
转自:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762345.html Oracle中SQL语句执行过程中,Oracle内部解析原理如下 ...
- oracle: sql语句报ora-01461/ora-00911错误
oracle: sql语句报ora-01461/ora-00911错误 ora-00911:sql语句中可能含有特殊字符,或者sql语句中不能用";"分号结尾. sql语句报ora ...
- 简单的oracle sql语句练习
简单的oracle sql语句练习 求每个部门的平均薪水 select deptno,avg(sal) from emp group by deptno 每个部门同一个职位的最大工资 select d ...
- Oracle sql语句中不支持boolean类型(decode&case)
[转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...
- oracle管理优化必备语句以及oracle SQL语句性能调整
本文转自http://www.dataguru.cn/article-3302-1.html oracle数据库管理优化必备语句: 1. SELECT T.START_TIME,T.USED_UBLK ...
- Oracle SQL语句性能优化方法大全
Oracle SQL语句性能优化方法大全 下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的 ...
随机推荐
- Spark(2) - Developing Application with Spark
Exploring the Spark shell Spark comes bundled with a PERL shell, which is a wrapper around the Scala ...
- IKAnalyzer 和 solr4.3 冲突
solr4.3 运行之后发现异常:Exception in thread "main" java.lang.VerifyError: class org.wltea.analyze ...
- 如何实现301的跳转?当输入域名http://xxx.com的时候自动重定向到www上去
答案:在服务器上操作,注意勾选和不勾选的区别,使用Fiddle进行观察,301和302之间的区别
- HDU 5763 Another Meaning
HDU 5763 Another Meaning 题意:一个字串有可能在模式串出现多次,问有多少种可能出现的情况.关键是有重合的字串是不能同时计入的. 思路:先用kmp求出所有字串的位置.然后,dp. ...
- 使用AlarmManager设置闹钟----之二
import android.media.MediaPlayer;import android.os.Bundle;import android.app.Activity;import android ...
- java二维数组的定义
java中的一维数组的定义都熟了,但是二位数组和一维数组的定义有些微差别.在网上看到了篇文章,总结的很详细.转载下了. 原文链接[http://blog.sina.com.cn/s/blog_6189 ...
- 第一次编辑JAVA
其实就是根据例题来进行编辑,但并不是一次就对了的,有大小写输入出错的问题,有漏掉标点符号的问题,值得注意的是,所有的标点符号都需要是在英文输入法状态下输入的,最后的问题——例题所用的C盘给我们带来了系 ...
- 一个高在线(可以超过1024)多线程的socket echo server(pthreads 和 libevent扩展)
研究了3周吧,本来打算用pthreads+event扩展的,结果event扩展太原始了,太多函数了,实在不知道怎么在外部随时发送数据给客户端,所以改用libevent, 改用libevent之后花了2 ...
- PHP及Javascript 正则判断中文(转)
UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的.比如: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test( ...
- SpringMvc异常
局部异常:在controller内部写一个处理异常的方法,注解ExceptionHandler(value={自己弄的异常class}) 这样发生value里面的类的异常,就可以执行这个方法,然后往r ...