根据awr报告查看最慢的sql语句
当系统运行了一段时间后,系统基本也趋于稳定了,SQL调优也变了DBA的一个主要的工作内容,很多时候都是通过查看awr报告来检查出有性能瓶颈的SQL语句,通过这个可以很清晰的看到具体运行多少时间、次数、CPU、IO的比例。但是每次都去查看awr报告是一件很繁琐的事情,如果可以单独的查看哪些有问题的sql,就不用每次都去...
一个简单的sql审核案例
今天开发的同学发来一封邮件,希望我帮忙对一个sql语句做一个评估。他们也着急要用,但是为了稳妥起见,还是希望我来审核一下,这是一个好的习惯。打开邮件,看到的语句是下面这样的形式。select a.cout1+b.cout2 from (select count(*) as cout1 from TEST_ONLINE where CN='' and to_char(LOGIN_TIME,'yyyymmdd') = to_...
通过shell脚本抓取awr报告中的问题sql
awr报告中的sql明细部分基本必看的部分,尤其是SQL Order by Elapsed time这个部分,能够很清晰的看到哪些sql语句占用了较多的DB time,所占的比例。这个可以作为调优时的一个重要参考,可以有针对性的来看哪些sql需要格外关注。<br /><br />比如说我们得到了一个awr报告,Elapsed time这个部分的内容如下。可以很明显看...
记一次数据库的分析和优化建议
系统信息 $ cat /etc/issue Red Hat Enterprise Linux Server release 5.3 (Tikanga) Kernel \r on an \m $ ksh cpuinfo.sh ************************************** CPU Physical NO: 2 CPU Processor NO: 16 CPU Core NO: cpu core...
通过shell脚本监控sql执行频率
在生产环境中,可能会存在各种潜在的sql问题,比如由于硬件资源导致,如果影响到了IO,CPU,就会导致一些本来运行很快的sql语句变慢或者系统响应严重减缓。比如由于数据库的一些设置导致执行计划的问题,sql_profile导致的执行计划稳定带来的性能不稳定,表中统计信息的变更导致的执行计划的变化等等。有时候等到问题发生...
ORACLE 使用TRACE进行SQL性能分析
ORACLE 使用TRACE进行SQL性能分析
通过shell和sql结合查找性能sql
在生产系统中,会发现一些潜在的sql问题,为了能够及时和准确的定位,我们可以借助sql_monitor来做性能sql的查找。可以在后台启用一个job不定时的去查找。毕竟大半夜的我们去监控也是有难度的,我们希望一切都能很自然的处理,结果我在一个指定的目录下每隔10分钟去查找一次性能sql,如果当天已经有生成报告就不重新生成...
从操作系统命令TOP到数据库的优化
对于一个刚开始学习数据库优化的新手DBA来说,当用户反馈系统比较慢时,他会非常紧张,面对数据库,他无从下手,不知道从哪里开始着手来优化数据库,查找系统存在的问题。 今天我们通过操作系统命令TOP,来优化数据,我们如何把操作系统与数据库关联起来哪,我们主要是通...
生产环境sql语句调优实战第五篇
今天在生产环境中发现一条sql语句尽管走了主键索引,但是查询还是很慢。sql语句类似下面的形式:SELECT /*+ index (bl1_cyc_payer_pop BL1_CYC_PAYER_POP_PK) */ T_TAX.BA_NO, T_TAX.TOTAL_TAX_AMT, T_TAX.TAX_RELATION, T_TAX_ITEM.TAX_ITEM_SEQ_NO, T_TAX_ITEM.TAX_SEQ_NO, T_TAX_...
生产环境sql语句调优实战第四篇
生产中有一条sql语句消耗了大量的cpu资源,执行时间在18秒左右,Session:PRODBUSER (1560:61133)SQL ID:1hg2wcuapy3y3SQL Exec...
生产环境大型sql语句调优实战第一篇(一)
SELECT DISTINCT CA.L9_CONVERGENCE_CODE AS ATB2, CU.CUST_SUB_TYPE AS ACCOUNT_TYPE, CST.DESCRIPTION AS ACCOUNT_TYPE_DESC, SS....
生产环境大型sql语句调优实战第一篇(二)
继续昨天的部分,上一篇的链接为:http://blog.itpub.net/23718752/viewspace-1217012/对这条大sql的性能瓶颈进行了分析。主要瓶颈在于一个很大的业务表,数据量在亿级。如果通过时间条件来过滤,会有5%以内的数据被过滤出来。但是没有时间相关的索引字段,所以会走全表扫描,在目前的产品线中,这个大分区表的索引时严...
生产环境sql语句调优实战第三篇
生产环境有一条sql语句执行比较频繁,占用了大量的cpu资源。在一次排查中引起了我的注意,决定看看cpu消耗到底在哪儿?sql语句是比较简单的,通过查询SUBSCRIBER_FA_V是一个视图。在视图中关联了几个和业务核心表。SELECT TO_CHAR(SUBSCRIBER_NO) SUBSCRIBER_ID, SUB_STATUS, ...