如何跟踪某个session的SQL?

本文介绍了四种在Oracle数据库中跟踪特定session的SQL语句的方法:1) 使用sql trace和tkprof,2) 通过DBMS_MONITOR包,3) 利用DBMS_SYSTEM包,4) 设置10046事件。每种方法详细说明了如何实施,并指出它们在跟踪范围上的差异,如本地session、系统级或指定session。tkprof工具用于格式化和解析跟踪文件,提供SQL语句、统计信息和执行计划。
摘要由CSDN通过智能技术生成

1 oracle自带的sql trace程序可以跟踪本地session

    sys: alter system set sql_trace = true;对所有会话跟踪

    schema: alter session set sql_trace = true; 对某个session 会话跟踪sql语句

     用tkprof 来格式化跟踪文件输出

    tkprof 输出内容包括 1 sql 语句 2统计信息 3explain table 执行计划

 

2 基于DBMS_MONITOR包来跟踪会话,这种情况一般是

通过该程序包可以跟踪从客户机到中间层、再到后端数据库的任何用户会话,从而可以 较为容易的标识创建大量工作量的特定用户。
会话:基于会话 ID 和序列号 DBMS_MONITOR.session_trace_enable(sid,serial#,true);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值