DBMS_MONITOR包跟踪10046

广大2年前技术文章808

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


相关文章

MySQL运维实战(5.4) MySQL元数据乱码

表结构Comment乱码如果DDL实际编码和character_set_client设置不一致,也会引起乱码。$ cat test_comment_utf8.sql create...

ACOS无数据告警实践

ACOS无数据告警实践

1.说明在实现数据监控的过程中告警能力无疑是重中之重,无数据告警亦是告警能力中重要的场景,这里我们聊聊关于无数据一些场景和实践方法。2.无数据可能场景对于运维监控平台来说无数据是一个比较复杂的情况,从...

Nacos服务公网环境登陆报密码错误问题排查

Nacos服务公网环境登陆报密码错误问题排查

问题现象nacos服务内网可以正常登录,如下:走公网代理出来之后,无法正常登录,报错"用户名密码错误"排查步骤链路分析首先确认公网代理的链路:域名—>haproxy—>nginx—>...

C++ 编程:数组的定义

1. 什么是数组?数组让能够按顺序将一系列相同类型的数据存储到内存中 C++ 中的数组可分为静态数组 与 动态数组 两种。2. 静态数组首先介绍声明一个 静态数组 的语法:/* ElementType...

netca报错UnsatisfiedLinkError exception loading native library

1、netca报错:UnsatisfiedLinkError exception loading native library: njni11报错:[oracle@test-db ~]$ netca...

Apache trino的ldap认证开启

Apache trino的ldap认证开启

1、背景由于trino 默认没有开启用户认证体系,需要ldap用户进行认证。开启tls和ldap用户认证。提高安全性2、配置前置条件。trino 集群已经部署完成ldap 服务openjdk 版本大于...

发表评论    

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