sqlplus中使用oradebug定位 alter session 10046事件产生的trace文件

 [[email protected] ~]# su - oracle
[[email protected] ~]$ sqlplus  / as sysdba

SQL> select * from v$version
BANNER
-------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

现在产生一个10046事件,我们来查看trace文件

 
SQL> alter session set events ‘10046 trace name context forever, level 12‘;

Session altered.

SQL> oradebug setmypid
Statement processed.

SQL> oradebug  tracefile_name
/u01/app/oracle/diag/rdbms/hxzgsjqy/HXZGSJQY/trace/HXZGSJQY_ora_15039.trc

oradebug来定位10046事件生成的trace文件为HXZGSJQY_ora_15039

[[email protected] ~]$ cd /u01/app/oracle/diag/rdbms/hxzgsjqy/HXZGSJQY/trace/
[[email protected] trace]$ ll
total 100
-rw-r----- 1 oracle oinstall  2458 Nov 16 02:00 alert_HXZGSJQY.log
-rw-r--r-- 1 oracle oinstall     0 Nov 16 21:31 cd
-rw-r----- 1 oracle oinstall  1012 Nov 16 02:00 HXZGSJQY_cjq0_6039.trc
-rw-r----- 1 oracle oinstall    63 Nov 16 02:00 HXZGSJQY_cjq0_6039.trm
-rw-r----- 1 oracle oinstall 21287 Nov 16 02:00 HXZGSJQY_dbrm_5983.trc
-rw-r----- 1 oracle oinstall  1387 Nov 16 02:00 HXZGSJQY_dbrm_5983.trm
-rw-r----- 1 oracle oinstall   953 Nov 16 19:00 HXZGSJQY_j000_14503.trc
-rw-r----- 1 oracle oinstall    73 Nov 16 19:00 HXZGSJQY_j000_14503.trm
-rw-r----- 1 oracle oinstall 32035 Nov 16 21:31 HXZGSJQY_mmon_5999.trc
-rw-r----- 1 oracle oinstall  3136 Nov 16 21:31 HXZGSJQY_mmon_5999.trm
-rw-r----- 1 oracle oinstall  2428 Nov 16 21:31 HXZGSJQY_ora_15039.trc
-rw-r----- 1 oracle oinstall   121 Nov 16 21:31 HXZGSJQY_ora_15039.trm
-rw-r----- 1 oracle oinstall  1267 Nov 16 02:13 HXZGSJQY_ora_9981.trc
-rw-r----- 1 oracle oinstall    85 Nov 16 02:13 HXZGSJQY_ora_9981.trm

sqlplus中使用oradebug定位 alter session 10046事件产生的trace文件

时间: 2024-10-10 13:52:06

sqlplus中使用oradebug定位 alter session 10046事件产生的trace文件的相关文章

Oracle 10046事件 介绍(一)

做Oracle方面的工作时间长了,经常会听人提起10046事件,尤其是涉及到SQL调优的时候更甚.那10046事件到底是什么呢,先做一个简单的介绍. 1.什么是10046事件 10046事件是Oracle提供的一个用于分析性能的工具,它能帮助我们解析一条/多条SQL.PL/SQL语句的运行状态,这些状态包括 :Parse/Fetch/Execute三个阶段中遇到的等待事件.消耗的物理和逻辑读.CPU时间.执行计划等等. 2.10046事件的Level 不同的Level对应不同的跟踪级别 1 启用

SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session set tracefile_identifier = jytrace; //设定trace文件的标识符 alter session set sql_trace = false; //结束sql_trace 1.2 其他session跟踪:(根据其他session的sid, serial#定位,最常

通过案例学调优之--10046事件

10046事件概述      Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息.这对我们分析.定位数据库性能问题是非常有用的. 10046 event是oracle用于系统性能分析时的一个最重要的事件.当激活这个事件后,将通知Oracle kernel追踪会话的相关即时信息,并写入到相应trace文件中.这些有用的信息主要包括sql是如何进行解析,绑定变量的使用情况,会话中发生的等待事件等 10046 event 可分成不同的级

Oracle SQL Trace 和 10046 事件

一. SQL_TRACE 当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL执行的整个过程输出到一个trace文件中,我们可以读这个trace 文件来了解在这个SQL执行过程中Oracle 都做了哪些操作. 可以通过sql命令启动SQL_TRACE,或者在初始化参数里面. SQL>alter session set sql_trace=true; 或者 SQL> alte

使用 10046 查看执行计划并读懂 trace 文件

查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划中每一个步骤的逻辑读, 物理读以及花费的时间等. 这种细粒度的跟踪对于我们分析 sql 性能尤其有用. 一般来说, 使用 10046 事件得到 sql 执行计划的步骤如下: 1. 激活当前 session 10046 事件 2. 在当前 session 中执行 sql 语句 3. 关闭当前 sess

10046事件跟踪会话sql

背景知识: 10046 事件按照收集信息内容,可以分成4个级别: Level 1: 等同于SQL_TRACE 的功能 Level 4: 在Level 1的基础上增加收集绑定变量的信息 Level 8: 在Level 1 的基础上增加等待事件的信息 Level 12:等同于Level 4+Level 8, 即同时收集绑定变量信息和等待事件信息. 一: 跟踪当前会话sql 1. sys用户给执行跟踪dblink用户授权SQL> grant alter session to dblink; Grant

Android中Button的五种监听事件

简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activity本身作为事件监听器,实现onClickListener5.外部类作为监听器 ButtonListenerActivity.class public class ButtonListenerActivity extends AppCompatActivity implements View.On

sqlplus中常用设置参数

一.各种设置参数解释 转自http://baike.baidu.com/view/1239908.htm Sql*plus是一个最常用的工具,具有很强的功能,主要有: 1. 数据库的维护,如启动,关闭等,这一般在服务器上操作. 2. 执行sql语句执行pl/sql. 3. 执行sql脚本. 4. 数据的导出,报表. 5. 应用程序开发.测试sql/plsql. 6. 生成新的sql脚本. 7. 供应用程序调用,如安装程序中进行脚本的安装. 8. 用户管理及权限维护等. 二.下面就介绍一下一些常用

sqlplus中设置在屏幕中上不打印出输出

在某些特定的情况下我们想在做某种实验,需要执行一段sql语句,但是不想在屏幕上打印出sql语句的结果(太长了)可以采用如下方式.1    把想要执行的语句写到一个sql脚本中,例如:[[email protected] scripts]$ more sqlt.sql set term offalter session set sql_trace=true;select * from v$latch;alter session set sql_trace=false;2    注意到了吧,脚本的开