分析描述:
    使用DBMS_SYSTEM分析SQL语句执行,并且获取SQL会话中的绑定变量、等待事件、消耗资源和执行计划等等。
环境介绍:
    Oracle 11.2.0.4.0
    Linux 5.8平台
    工具:
        alter system set events 'sql_trace [sql:&&SQL_ID] bind=true,wait=true'; 开启绑定变量的捕获
        DBMS_SYSTEM.set_sql_trace_in_session(sid,serial#,ture|false);记录trace文件
 
 
执行带变量的SQL语句:
    
    alter system flush shared_pool;--首先清空共享池
 
    首先不开启绑定变量的捕获 ,查看trace文件。
 
variable B1 varchar2(30);
variable B2 varchar2(30);
variable B3 varchar2(20);
variable B4 varchar2(20);
exec :B1:='CHKKP_NEW'
exec :B2:='CHKKP_NEW'
exec :B3:='CHKKP_NEW'
exec :B4:='CHKKP_NEW'
 
set serveroutput on
 
declare
v_count number;
begin
    for i in 1..100 loop
        SELECT count(*) into v_count FROM CHKRULE_D WHERE RULETYPE=:B4 AND NVL(ITEM, :B3 ) = :B3 AND NVL(MODEL, :B2 ) = :B2 AND NVL(CUSTITEM, :B1 ) = :B1 ORDER BY RULESEQ DESC;
        dbms_output.put_line('Total ROws: ' || v_count);
    end loop;
end;
/
 
 
select sid,serial# from v$session where sid in (select sys_context('USERENV','SID') from dual);
 

 
 
SYS会话监控
    17:26:26 SQL> exec dbms_system.set_sql_trace_in_session(314,43729,true);
    已順利完成 PL/SQL 程序.
  

    操作系统查看trace文件
  [oracle@xxxxx trace]$ ls -ltr|grep trc|grep _ora_
  -rw-r----- 1 oracle dba   103524 May 10 17:31 xxxxx0_ora_5156.trc
   

         
SYS监控会话
        --关闭捕获到trace
17:38:45 SQL>     exec dbms_system.set_sql_trace_in_session(314,43729,false);
已順利完成 PL/SQL 程序.
 
 
 查询出执行SQL语句的SQL_ID
 
    col sql_id format a30
    col sql_text format a40
    select sql_id,sql_text from v$sqlarea where sql_text like '%SELECT count(*) into v_count %' and sql_text not like '%v$sqlarea %';
 
 

    
 
    开启绑定变量的捕获
 
alter system set events 'sql_trace [sql:3jw2927kh51wb] bind=true,wait=true';
alter system set events 'sql_trace [sql:0zsvnxk40mbft] bind=true,wait=true';
 
[oracle@xxxxxx trace]$ ls -ltr|grep trc|grep _ora_
-rw-r----- 1 oracle dba   154002 May 10 17:48 xxxxxx_ora_7977.trc
[oracle@xxxxxxx trace]$ less xxxxx_ora_7977.trc
 
    关闭捕获到trace
        
 
 
exec dbms_system.set_sql_trace_in_session(314,43729,false);
exec dbms_system.set_sql_trace_in_session(197,46871,false);
 
alter system set events 'sql_trace [sql:3jw2927kh51wb] bind=false,wait=true';
alter system set events 'sql_trace [sql:0zsvnxk40mbft] bind=false,wait=true
 

(Oracle)DBMS_SYSTEM工具-01[20180510]的更多相关文章

  1. oracle tkprof 工具详解

    oracle  tkprof 工具详解 今天是2013-09-26,进行tkprof工具使用学习,在此记录一下笔记: 一)查看需要跟踪会话信息: select s.sid,s.serial#,s.us ...

  2. Oracle TRCA 工具(转)

    本篇文章主要介绍了"Oracle TRCA 工具 说明 ",主要涉及到Oracle TRCA 工具 说明 方面的内容,对于Oracle TRCA 工具 说明 感兴趣的同学可以参考一 ...

  3. Oracle TRCA 工具 说明 10046

    本篇文章主要介绍了"Oracle TRCA 工具 说明 ",主要涉及到Oracle TRCA 工具 说明 方面的内容,对于Oracle TRCA 工具 说明 感兴趣的同学可以参考一 ...

  4. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法

    Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...

  5. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具

    Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老手,有时候安装起来也觉得挺烦.而工作中,通常服务器上面安装oracle就可以了,我们本地电脑 ...

  6. 客户视角:Oracle ETL工具ODI

    客户视角:Oracle ETL工具ODI 数据集成已成为企业在追求市场份额中的关键技术组件,与依靠手工编码的方式不同,越来越多的企业选择完整的数据集成解决方案来支持其IT战略,从大数据分析到云平台的集 ...

  7. Oracle客户端工具安装

    Oracle简易客户端登录工具安装 @[Database|Oracle|客户端工具] [TOC] 引言 Oracle服务的安装是一件的繁琐的事情,我们往往喜欢在本地不安装oracle数据库的方式来访问 ...

  8. oracle12c:通过oracle客户端工具配置tns,并使用sqlldr进行批量导入数据

    通过oracle客户端工具配置tns: 进入oracle配置工具“Net Configuration Assistant”-> 点击“下一步”,完成tns配置. 测试是否tns可用 命令:tns ...

  9. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具 【转载】

    http://www.cnblogs.com/jiekzou/p/5047850.html Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老 ...

随机推荐

  1. 基于Apache Curator框架的ZooKeeper使用详解

    一 简介 Apache Curator是一个比较完善的ZooKeeper客户端框架,通过封装的一套高级API 简化了ZooKeeper的操作.通过查看官方文档,可以发现Curator主要解决了三类问题 ...

  2. php中http_build_query函数

    http_build_query ( array $formdata [, string $numeric_prefix ] ) 使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求 ...

  3. 中国国内 - 可用API合集

    中国国内 - 可用API合集 收录一篇中国国内可用API合集,分享给大家 目录 笔记 出行 词典 电商 地图 电影 即时通讯 开发者网站 快递查询 旅游 社交 视频 天气 团队协作 图片与图像处理 外 ...

  4. restful知识点之五解析器_响应器_分页器

    解析器 request.post:当数据时content-type urlencoded类型时才有数据 当content-type:是formdata时需要从request.body里取数据 requ ...

  5. C# Winform选项卡集成窗体

    知识要点:利用反射动态的加载窗体到对应的TabPage的. using System; using System.Collections.Generic; using System.Component ...

  6. 传递给数据库 'model' 中的日志扫描操作的日志扫描号无效

    状况描述:在服务器的管理中重新启动MSSQLSERVER启动后马上又停止   通过"事件查看器" 发现 错误: ,严重度: ,状态: LSN(::)无效.该 LSN 是传递给数据库 ...

  7. [翻译] GSProgressView

    GSProgressView 本人极不推荐使用drawRect的方式来绘制下载进度条,无论机器的性能怎么高,使用drawRect用于绘制图形都是低效的. A cute little circular ...

  8. python的文件对象(1)

    1  首先要明确的是,文件只是连续的字节. 数据的传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成. 2  打开文件之门的钥匙--open() open()内建函数成功打开文件后会返回一个 ...

  9. mysql服务器硬件配置选择参考

    这是在网上找的一个关于如何评估一个mysql服务器的硬件需求的文章,转载以备用 5 Minute DBA – Database Server Hardware Selection Posted on  ...

  10. 点开无线显示"已连接 安全",但是点击下面无线图标却显示"无法连接internet",解决方案

    管理员权限运行“命令提示符” 输入:netsh winsock reset 然后重启电脑即可