知识大全 ORACLE10046事件详解

Posted 事件

篇首语:针越用越明,脑越用越灵。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE10046事件详解相关的知识,希望对你有一定的参考价值。

ORACLE10046事件详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Oracle的 事件 可以跟踪应用程序所执行的SQL语句 并且得到其解析次数 执行次数 CPU使用时间等信息 这对我们分析 定位数据库性能问题是非常有用的

   event是oracle用于系统性能分析时的一个最重要的事件 当激活这个事件后 将通知oracle kernel追踪会话的相关即时信息 并写入到相应trace文件中 这些有用的信息主要包括sql是如何进行解析 绑定变量的使用情况 会话中发生的等待事件等

   event 可分成不同的级别(level) 分别追踪记录不同程度的有用信息 对于这些不同的级别 应当注意的是向下兼容的 即高一级的trace信息包含低于此级的所有信息

   event的追踪级别大致有

  level :跟踪sql语句 包括解析 执行 提取 提交和回滚等

  level :包括变量的详细信息

  level :包括等待事件

  level :包括绑定变量与等待事件

  其中 level 相当于打开了sql_trace

  前提条件

  (先确保要event的会话环境符合条件)

   必须确保timed_statistics为TRUE 这个参数可以在会话级上进行修改

   为了确保trace输出能够完整进行 还要调整此会话对trace文件大小的限制 一般将此限制取消 即将max_dump_file_size设置为UNLIMITED 或者设置为一个很大的阙值

  在满足了上述条件后 就可以启用 event对会话进行后台跟踪了

   首先获得spid sid serial# machine为连接oracle的机器名

  select b spid a sid a serial# a machine from v$session a v$process b where a paddr =b addr  and a sid =

  继续往下看 就可以知道为什么找到SPID了

   事件启动 需要SYSDBA权限

  SQL>execute sys dbms_system set_ev( )

  PL/SQL procedure successfully pleted

  参数说明

   :SID

   :SERIAL#

  注意这里必须以sysdba登录

  或者会话级别的跟踪

  SQL> alter session set events trace name context forever level ;

  会话已更改

   在应用程序中执行对数据库的操作

  比如性能较差的一些查询 插入 删除操作等

   事件的关闭

  SQL>execute sys dbms_system set_ev( )

  PL/SQL procedure successfully pleted

  或者对应上面的 在会话级别关闭

  SQL> alter session set events trace name context off ;

  会话已更改

   获得产生的跟踪文件所在的目录

  SQL> select value from v$parameter where name = user_dump_dest ;

  转到该目录下可以看到生成了一个zftang_ora_ trc文件 此处的 即SPID的值

   使用tkprof命令 转换TRC文件

  在命令行下执行oracle的tkprof命令 将zftang_ora_ trc转化为文本文件

  如

  $ tkprof  ora i_ora_ trc ora i_ora_ sql

  tkprof /u /diag/rdbms/bysrac/bysrac /trace/bysrac _ora_ _TEST _ trc /home/oracle/test _ trc

  此时在zftang_ora_ sql文件中 就可以看到刚才执行应用程序时所执行的sql语句的执行次数 CPU使用时间等数据

  TRACE将消耗相当的系统资源 因此我们在使用TRACE的时候应当慎重 对于正式的系统 应当只在必要的时候进行TRACE操作 并且应当及时关闭

  ********************************************************************************

  count    = number of times OCI procedure was executed

  cpu      = cpu time in seconds executing

  elapsed  = elapsed time in seconds executing

  disk     = number of physical reads of buffers from disk

  query    = number of buffers gotten for consistent read

  current  = number of buffers gotten in current mode (usually for update)

  rows     = number of rows processed by the fetch or execute call

  ********************************************************************************

  update test_ set flag = 测试

  call     count       cpu    elapsed       disk      query    current        rows

      

  Parse                                                             

  Execute                                             

  Fetch                                                             

      

  total                                               

  Misses in library cache during parse:

  Optimizer mode: ALL_ROWS

  Parsing user id:

  timed_statistics的理解

  关于参数timed_statistics的一段解说

  Without timed statistics Oracle records the reason for each wait before it begins to wait and when the wait is over it records whether it timed out But with timed statistics enabled Oracle checks the time just before and after each wait and also records the time waited The time waited is recorded in hundredths of a second that is centiseconds

  本人的理解是 参数timed_statistics没有设置的话 Oracle只记录wait开始和wait结束这一段时间内的wait reason和wait结束是否是因为timed out 而设置timed_statistics=true后 Oracle就记录了wait的时间信息 有了这些时间信息可以确定等待事件在哪个时间段出现比较频繁    请指正

  在timed_statistics  = false时 我们只能够知道这些等待时间的次数(records the reason for each wait ) 以及等待时间timed out的次数(records whether it timed out)

cha138/Article/program/Oracle/201311/17966

相关参考

知识大全 C# TextBox事件实现实例详解

C#TextBox事件实现实例详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#TextB

知识大全 MySQL事件调度器Event Scheduler详解

MySQL事件调度器EventScheduler详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Oracle实例和Oracle数据库详解

Oracle实例和Oracle数据库详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一ORA

知识大全 ORACLE的索引和约束详解

ORACLE的索引和约束详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle的约束*

知识大全 Oracle中创建和管理表详解

Oracle中创建和管理表详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对Oracle中

知识大全 九大Oracle性能优化基本方法详解

九大Oracle性能优化基本方法详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle

知识大全 oracle内存调优参数详解

  实例结构  oracle实例=内存结构+进程结构  oracle实例启动的过程其实就是oracle内存参数设置的值加载到内存中并启动相应的后台进程进行相关的服务过程  进程结构  oracle进程

知识大全 oracle中的INTERVAL函数详解

oracle中的INTERVAL函数详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  orac

知识大全 Oracle数据库中文件加密详解

Oracle数据库中文件加密详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Oracle数

知识大全 详解Oracle本地管理表空间

详解Oracle本地管理表空间  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  名词解释与约定表空