DBMS_MONITOR包跟踪10046

广大3年前技术文章950

该包是从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');


相关文章

Ubuntu 网卡启动及配置

Ubuntu 网卡启动及配置

问题分析打开虚拟机后发现没有网卡网络。查看网卡信息sudo ip link set ens33 up1得到本机的所有网卡信息,例如我这边网卡为ens33启动网卡启动网卡后发现依然网卡没有IP地址。配置...

Hive优化之Spark执行引擎的参数优化(二)

Hive优化之Spark执行引擎的参数优化(二)

        Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中...

Linux分区动态扩容/缩容

Linux分区动态扩容/缩容

xfs与ext文件系统类型xfs:XFS一种高性能的日志文件系统,几乎具备所有EXT4支持的功能。但不支持文件系统收缩ext:支持度最广、但格式化慢,有ext2、ext3、ext4基础命令先查看一下目...

Ranger-usync用户同步-LDAP

Ranger-usync用户同步-LDAP

1、修改配置**cd /opt/ranger-2.3.0-usersync/ **SYNC_SOURCE = ldap SYNC_LDAP_URL = lda...

Spark thriftserver对接cdh hive

Spark thriftserver对接cdh hive

1、背景客户需要使用spark的thriftserver来通过beeline或者jdbc 来使用spark sql环境: spark 3.2.0hive: 2.1.1-cdh6.3.2hadoop:...

Kubernetes 认证授权

Kubernetes 认证授权

1、认证所有 Kubernetes 集群都有两类用户:由 Kubernetes 管理的服务账号和普通用户。任何客户端访问之前,经由 kubernetes 时,需经过:认证(token, ssl)、授权...

发表评论    

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