分析描述:
    使用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. rabbitmq集群配置

    原文地址:http://www.360doc.com/content/14/0911/17/15077656_408713893.shtml 按照文章中的方式成功建立了两台机器的集群. 但文章中加入集 ...

  2. [翻译] KGModal

    KGModal KGModal is an easy drop in control that allows you to display any view in a modal popup. The ...

  3. Python学习---生成器的学习1210

    在Python中,这种一边循环一边计算的机制,称为生成器: 结论: 生成器本质是一个函数,不同于函数的是它生成的是一个对象,不执行函数内的代码 1.1. 列表生成器 列表生成器: 列表是直接生成数字在 ...

  4. Linux 下shell中exec解析

    exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息.       bash shell ...

  5. Linux下php-fpm进程过多导致内存耗尽问题

    这篇文章主要介绍了解决Linux下php-fpm进程过多导致内存耗尽问题,需要的朋友可以参考下   最近,发现个人博客的Linux服务器,数据库服务经常挂掉,导致需要重启,才能正常访问,极其恶心,于是 ...

  6. [朴孝敏/Loco][Nice Body]

    歌词来源:http://music.163.com/#/song?id=28738294 作曲 : 勇敢兄弟/大象王国 [作曲 : 勇敢兄弟/大象王国] 作词 : 勇敢兄弟 [作词 : 勇敢兄弟] A ...

  7. Eclipse PHPEclipse 配置

    最近偶来兴致趁着有些时间,看了看php的书. 说到php就不得不提php的开发环境了,一般的都是采用apache做服务器.mysql做数据库,再加上php组合成一个完备的运行环境,但是好像没有写代码的 ...

  8. 关于eclipse没有js、xml代码提示的解决:下载一个插件

    1)eclipse打开帮助 2)Eclipse Marketplace,然后搜索AngularJS Eclipse 安装后重启就行了 xml的搜索Rinzo. 没有vpn,我的网络到达不了.

  9. python面向对象之类成员

    面向对象编程: OOP编程是利用类和对象来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得简单,并可以大大提高程序开发效率.另外,基于面向对象的程序可 ...

  10. DateConvertUtil 日期工具类

    package com.hxqc.basic.dependency.util; import java.text.DateFormat; import java.text.ParseException ...