DBMS_MONITOR包跟踪10046

广大2年前技术文章755

该包是从Oracle 10g开始提供的,Oracle官方支持。等于10046 level 12。

--跟踪当前会话:
EXEC DBMS_MONITOR.SESSION_TRACE_ENABLE;
SQL> --执行SQL
--关闭跟踪
EXEC DBMS_MONITOR.SESSION_TRACE_DISABLE;
--跟踪其他会话:
EXEC DBMS_MONITOR.SESSION_TRACE_ENABLE(SESSION_ID=>SID,SERIAL_NUM=>SERIAL#,WAITS=>TRUE,BINDS=>TRUE);
SQL> --执行SQL
EXEC DBMS_MONITOR.SESSION_TRACE_DISABLE(SESSION_ID=>SID,SERIAL_NUM=>SERIAL#);
--查询会话是否开启跟踪,只能查询到部分方法开启的跟踪。
select sql_trace,sql_trace_waits,sql_trace_binds from v$session where sid=1;
注意:仅当使用程序包 dbms_monitor 中的过程 session_trace_enable 启用跟踪(而不是通过 alter session set sql_trace = true 或设置事件 10046)时,才会填充视图 V$SESSION。

使用DBMS_MONITOR包也可以根据client identifier来Trace多个不同的会话,client identifier可以通过V$SESSION里面client_identifier字段看到,使用方法如下:

client identifier可以通过V$SESSION里面client_identifier字段看到,使用方法如下:
--设置客户端标识符
exec dbms_session.set_identifier('test_id');
-- 找出要Trace的client_identifier信息
SQL> select sid,serial#,client_identifier from v$session where client_identifier is not null;

       SID    SERIAL# CLIENT_IDENTIFIER
---------- ---------- ---------------------------------------------------------
         1      27843 test_id
--利用客户端标识符设置跟踪,假设要跟踪 client_identifier是"test_id"的所有会话,如下:
exec dbms_monitor.client_id_trace_enable(client_id=>'test_id',waits=>true,binds=>false);

--关闭跟踪
execute dbms_monitor.client_id_trace_disable(client_id=>'test_id');


相关文章

使用impala操作kudu

使用impala操作kudu

登录impala-shell,创建impala_kudu数据库。1、创建表CREATE TABLE student ( id int not null, name STRING null ,...

NetworkManager和常用工具和基本用法

NetworkManager和常用工具和基本用法

现代人的生活越来越依赖网络,对于一个操作系统来讲,网络功能的支持和管理就更为重要了,本节课我们一起来看一下在CentOS8中如何对网络进行管理NetworkManager和常用工具和基本用法Netwo...

k8s Krew 插件使用指南

kubectl Krew 插件使用指南前言:在某些情况下,只是使用 kubectl 命令的时候存在效率比较低、功能不满足的问题,针对这些问题,社区提出了krew插件项目。还有一点是:大部分工程师还是喜...

Linux解锁线程基本概念和线程控制,步入多线程学习的大门(1)

Linux解锁线程基本概念和线程控制,步入多线程学习的大门(1)

1、线程初识1.1线程的概念线程是进程内部的一个执行分支,线程是CPU调度的基本单位那什么是进程呢?我们之前学习了解到的进程是加载到内存中的程序进程 = 内核数据结构 + 进程代码和数据。今天我们要推...

kafka部署

安装前准备修改环境变量vi /etc/profile export KAFKA_HOME=/opt/kafkaexport PATH=$PATH:$KAFKA_HOME/bin创建用户及用户组grou...

CDH实操--集群卸载

CDH实操--集群卸载

1、停止正在运行的服务a、控制台停止集群服务b、控制台停止Cloudera Management Servicec、命令行停止cm服务systemctl stop cloudera-scm-agent...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。