摘要: 在具有连接池或共享服务器的多层环境中,一个会话可以跨越多个进程,甚至跨越多个实例。DBMS_MONITOR是在Oracle 10g中引入的内置的程序包,通过该程序包可以跟踪从客户机到中间层、再到后端数据库的任何用户的会话,从而可以较为容易地标识创建大量工作量的特定用户。DBMS_MONITOR取代了 阅读全文
posted @ 2018-03-10 20:46 杨哥哥 阅读(297) 评论(0) 推荐(0)
摘要: 通过案例学调优之--10046事件 10046事件概述 Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息。这对我们分析、定位数据库性能问题是非常有用的。 10046 event是oracle用于系统性能分析时的一个最重要的事件。当激 阅读全文
posted @ 2018-03-10 20:38 杨哥哥 阅读(1451) 评论(0) 推荐(0)
摘要: 10046或10053生成的文件格式比较乱,直接查看有一定的困难,ORACLE自带的一个格式化命令工具tkprof可以将生成的.trc文件进行格式化,具体用说如下: 一、直接输入tkprof不带任何参数,可以查看tkprof工具的参数信息: [oracle@dg trace]$ tkprofUsag 阅读全文
posted @ 2018-03-10 20:20 杨哥哥 阅读(251) 评论(0) 推荐(0)
摘要: 10046 trace帮助我们解析一条/多条SQL、PL/SQL语句的运行状态,这些状态包括:Parse/Fetch/Execute三个阶段中遇到的等待事件、消耗的物理和逻辑读、CPU时间、执行计划等,它为我们揭示了一条、多条SQL的运行情况,对SQL调优是一个非常好的辅助工具,同时还能帮我们分析一 阅读全文
posted @ 2018-03-10 20:16 杨哥哥 阅读(810) 评论(0) 推荐(0)
摘要: 1 oradebug介绍 oradebug主要是给oracle支持人员使用的,尽管很早便有,但oracle官网很少有记载。他是个sql*plus命令行工具,有sysdba的权限就可以登入,无需特别设置。他可以被用于: 1)追踪进程,或者是你的,或者是外部的 2)确定进程往哪个trc文件写 3)转储: 阅读全文
posted @ 2018-03-10 12:41 杨哥哥 阅读(590) 评论(0) 推荐(0)
摘要: oradebug的前身是在ORACLE 7时的ORADBX,它可以启动用停止跟踪任何会话,dump SGA和其它内存结构,唤醒ORACLE进程,如SMON、PMON进程,也可以通过进程号使进程挂起和恢复等,还有很多功能,实际上这些功能都不常用,但是我们在看别人做问题诊断时,常看到别人在使用orade 阅读全文
posted @ 2018-03-10 12:36 杨哥哥 阅读(176) 评论(0) 推荐(0)
摘要: 在之前的HangAnalyze 中有使用oradebug命令,在这篇文章里,我们主要是重点看一下这个oradebug命令: Oracle HANGANALYZE 功能诊断 DB hanging http://www.cndba.cn/Dave/article/1562 一. Oradebug 命令  阅读全文
posted @ 2018-03-10 12:33 杨哥哥 阅读(323) 评论(0) 推荐(0)
摘要: TKPROF是一个可执行文件,自带在Oracle Server软件中,无需额外的安装。 该工具文件可以用来解析ORACLE的SQL TRACE(10046) 以便生成更可读的内容。 实际上tkprof是对10046 SQL trace的内容作了汇总,例如一个语句遇到过的wait event 、其在P 阅读全文
posted @ 2018-03-10 11:38 杨哥哥 阅读(396) 评论(0) 推荐(0)
摘要: 在数据库生成的oracle trace文件中,可读性是比较差的,此时可使用tkprof工具来格式化trace文件,tkprof是一个命令行工具,作用就是把原始的跟踪trace文件作为输入,然后格式化一个可读性比较好的文本文件。 在下面的例子中,输入文件是 ora11g_ora_3918.trc,输出 阅读全文
posted @ 2018-03-10 11:37 杨哥哥 阅读(588) 评论(0) 推荐(0)
摘要: 研究了几天shared pool,没想到忽然就撞到问题上来了.作为一个案例写出来给大家参考一下吧. 问题起因是公司做短信群发,就是那个18万买的4000字的短信小说(嘘,小声点,我也没看过...).群发的时候每隔一段时间就会发生一次消息队列拥堵的情况在数据库内部实际上是向一个数据表中记录发送日志. 阅读全文
posted @ 2018-03-10 11:26 杨哥哥 阅读(694) 评论(0) 推荐(0)
摘要: Oracle使用两种数据结构来进行shared pool的并发控制:lock 和 pin.Lock比pin具有更高的级别. Lock在handle上获得,在pin一个对象之前,必须首先获得该handle的锁定.锁定主要有三种模式: Null,share,Exclusive.在读取访问对象时,通常需要 阅读全文
posted @ 2018-03-10 11:25 杨哥哥 阅读(260) 评论(0) 推荐(0)
摘要: 我们进一步来讨论一下shared pool的处理: 先进行相应查询,获得测试数据: [oracle@jumper udump]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.3.0 - Production on Thu Aug 26 10:21:54 阅读全文
posted @ 2018-03-10 11:24 杨哥哥 阅读(183) 评论(0) 推荐(0)
摘要: 基本命令: ALTER SESSION SET EVENTS 'immediate trace name LIBRARY_CACHE level LL'; 其中LL代表Level级别,对于9.2.0及以后版本,不同Level含义如下:Level =1 ,转储Library cache统计信息Leve 阅读全文
posted @ 2018-03-10 11:23 杨哥哥 阅读(434) 评论(0) 推荐(0)
摘要: 关于shared pool的深入探讨(二) 作者:eygle |English 【转载时请标明出处和作者信息】|【恩墨学院 OCM培训传DBA成功之道】链接:http://www.eygle.com/archives/2004/10/shared_pool-2.html 我们继续把前面的问题展开一下 阅读全文
posted @ 2018-03-10 11:22 杨哥哥 阅读(527) 评论(0) 推荐(0)
摘要: 关于shared pool的深入探讨(一) 作者:eygle |English 【转载时请标明出处和作者信息】|【恩墨学院 OCM培训传DBA成功之道】链接:http://www.eygle.com/archives/2004/10/shared_pool-1.html 关于shared pool的 阅读全文
posted @ 2018-03-10 11:21 杨哥哥 阅读(345) 评论(0) 推荐(0)
摘要: 查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划中每一个步骤的逻辑读, 物理读以及花费的时间等. 这种细粒度的跟踪对于我们分析 sql 性能尤其有用 阅读全文
posted @ 2018-03-10 11:01 杨哥哥 阅读(971) 评论(1) 推荐(0)