当前位置:  数据库>oracle

在Oracle中跟踪某几个用户的SQL

    来源: 互联网  发布时间:2017-03-25

    本文导语: 在Oracle中做SQL跟踪,估计大部分都会用sqlplus中的autotrace或者设置10046跟踪。但是,如果是调试某个应用系统的话,特别是打开了连接池的系统,靠以上两种方法基本上就歇菜了。还是SQL Server的SQL Server Profiler好啊。 最近在看冯大...

在Oracle中做SQL跟踪,估计大部分都会用sqlplus中的autotrace或者设置10046跟踪。但是,如果是调试某个应用系统的话,特别是打开了连接池的系统,靠以上两种方法基本上就歇菜了。还是SQL Server的SQL Server Profiler好啊。

最近在看冯大辉翻译的《Oracle性能诊断艺术》,发现一个很好的技巧,思路是建一个Logon,现摘录如下(稍作了一个修改):

01 create role trace_10046_role; 
02   
03 CREATE OR REPLACE TRIGGER SYS.set_10046_trace_on_logon
04 AFTER LOGON ON DATABASE
05 BEGIN
06   if ( dbms_session.is_role_enabled('trace_10046_role') and user not in ('SYS','SYSTEM')  ) then
07     EXECUTE IMMEDIATE 'alter session set statistics_level=ALL';
08     EXECUTE IMMEDIATE 'alter session set max_dump_file_size=UNLIMITED';
09     EXECUTE IMMEDIATE 'alter session set tracefile_identifier='''||user||'_10046''';
10     EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context forever, level 12''';
11   end if; 
12 END set_10046_trace_on_logon;

启用和禁用对系统进行做10046跟踪SQL:

 
01 SQL> show user;
02 USER is "SYS"
03 SQL> grant trace_10046_role to cms_text;
04 SQL> select * from dba_ROLE_PRIVS where granted_role='TRACE_10046_ROLE';
05   
06 GRANTEE                        GRANTED_ROLE                   ADM DEF
07 ------------------------------ ------------------------------ --- ---
08 SYS                            TRACE_10046_ROLE               YES YES
09 CMS_TEXT                       TRACE_10046_ROLE               NO  YES
10 Grant succeeded.
11 SQL> revoke trace_10046_role from cms_text; 
12 SQL> select * from dba_ROLE_PRIVS where granted_role='TRACE_10046_ROLE';
13   
14 GRANTEE                        GRANTED_ROLE                   ADM DEF
15 ------------------------------ ------------------------------ --- ---
16 SYS                            TRACE_10046_ROLE               YES YES

其实就是将 trace_10046_role grant/revoke 给相应的用户。

当具有 trace_10046_role 角色的用户登录后在udump下就会出现相应的trc文件:

 
1 [oracle@test-server udump]$ pwd
2 /u01/app/admin/ora8i/udump
3 [oracle@test-server udump]$ ls
4 ora8i_ora_8259_CMS_TEXT_10046.trc

    
 
 

您可能感兴趣的文章:

  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • Oracle案例:分析10053跟踪文件
  • 详析Oracle跟踪事件:set events
  • 在Oracle中监控和跟踪索引使用情况
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • linux6.0下安装oracle11g, 新建用户后,在用户目录下为什么没有.bash_profile文件生成? 求教高手。谢谢!
  • Oracle一个用户如何访问其它用户的表应用指南
  • oracle用户口令丢了
  • 修改oracle用户的.bash_profile之后无法正常登陆
  • linux下如何查看是什么用户安装的oracle
  • oracle+jsp 多用户查询系统讨论:
  • ORACLE 中修改用户密码的方法
  • linux中定时任务 oracle用户该如何做?
  • 杀掉oracle在线用户脚本分享
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • Oracle exp 导出用户对象
  • oracle怎么删除用户提供解决方案
  • Oracle初始参数与当前用户
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • Oracle中查看当前用户的表
  • 怎样知道一个用户的主目录,也就是.bash_profile所在的目录?如/home/oracle
  • Linux下修改Oracle用户密码
  • Oracle创建用户权限的过程
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle 数据库开发工具 Oracle SQL Developer
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • 取数据库前几条数据(sql server、oracle、mysql)的sql写法
  • oracle用什么SQL语句判断表存不存在
  • 与jsp搭配,oracle好?sql server好?
  • Oracle开发工具 Oracle SQL Handler
  • Oracle与SQL Server区别在哪里
  • oracle sql执行过程(流程图)
  • Oracle的SQL语句中如何处理‘&’符号
  • oracle中得到一条SQL语句的执行时间的两种方式
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • Oracle捕获问题SQL解决CPU过渡消耗
  • Oracle中SQL语句连接字符串的符号使用介绍
  • Unix系统下oracle sql排版
  • oracle.xml.sql.query.OracleXMLQuery
  • oracle SQL解析步骤小结
  • 怎么在java中向一个sql语句传参数,就像oracle的proc一样啊?
  • 修改oracle用户的.bash_profile之后无法正常登陆 iis7站长之家
  • Linux/UNIX下,C++程序通过那些步骤访问Oracle或者Sybase SQL数据库?
  • Oracle SQL使用时注意自己的输入
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3