happydba Rotating Header Image

Posts under ‘tuning’

用Oracle的 DBMS_XPLAN函数轻松格式化EXPLAIN PLAN结果

EXPLAIN PLAN命令的输出结果是解决SQL效率低下问题的最重要的诊断工具之一。此命令加载一个工作表格(默认名称为PLAN_TABLE),表格中带有Oracle优化器为SQL语句计算的执行计划步骤。例如: EXPLAIN PLAN FOR SELECT empno, ename FROM emp WHERE ename LIKE ‘S%’; 由于PLAN_TABLE中的行形成了一个等级,对其进行查询需要应用SELECT语句中的两个复杂子语句——START WITH与CONNECT BY。第一次在Oracle 9i中出现并在10g中得到扩充的DBMS_XPLAN使格式化及显示执行计划更为容易。 DBMS_XPLAN.DISPLAY是一个表格标值函数,它显示PLAN_TABLE的内容。与常规的纯量函数SUBSTR或总计函数SUM不同的是,表格函数返回一个完整的行集合(rowset)。它们用在SELECT语句的FROM子语句中,前面必须加上TABLE这个词。如: SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 列表A显示的是上述EXPLAIN PLAN语句的结果,并由DBMS_XPLAN.DISPLAY格式化。 值得注意的是,DBMS_XPLAN还能从存储在系统全局区(System Global Area, SGA)内的指针显示“实时”执行计划。列表B显示的是由用户SCOTT执行的同一SQL语句。通过查看V$SESSION视图,你可以找到执行SCOTT任务的最后一个SQL ID。这反过来又可输入到DBMS_XPLAN.DISPLAY_CURSOR中,获得指针所使用的执行计划。 最后,DBMS_XPLAN.DISPLAY_AWR函数可用来查寻Oracle 10g的自动负荷信息库(Automatic Workload Repository, AWR)获得的历史SQL语句,并显示它的执行计划。它显示一个你可以访问的含七天历史记录的滚动窗口。 所有这三个函数都是协调SQL语句的强大工具。

insert,append,nologging生成redo数量的测试

insert,append,nologging生成redo数量的测试

DBMS_XPLAN.DISPLAY_AWR get bind variables

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR(sql_id,NULL,NULL,‘advanced’));   The Power of ASH (Active Session History) Oracle 10g, brings many new features through which one can easily tune the bad sqls or also can diagnose the database performance issues. Using database metrics, active session history and time model views. Following query fetchs top sqls spent more on cpu/wait/io. (Thanks [...]

10g: Get SQL History Plans

Oracle 10g has greater enhancements w.r.t performance tunings.AWR in 10g is enhanced version of statspack and we can get more information aboutinstance/database performance.

gather_plan_statistics hint tips

gather_plan_statistics hint tips

xplan.sql

xplan.sql

10gR2里执行计划显示的一些增强

10gR2里执行计划显示的一些增强

DBMS_XPLAN.DISPLAY_AWR 和 一次direct path write temp等待事件的诊断

这是开发人员反馈的问题: 有个程序查询差不多需要返回20多万个对象,在DEV和SIT都没问题,但在pre-production就跑不出来 开始以为这个库没跑dbms_stats,结果执行了dbms_stats之后仍然老样子。 并且在执行这个查询的时候app server和db server负载都不高…怪了。 抓了一下当时的awr report 但是系统负载并不高: Load Profile ~~~~~~~~~~~~                            Per Second       Per Transaction                                    —————       —————                   Redo size:              4,535.44              2,351.49               Logical reads:                125.43                 65.03               Block changes:                 16.73                  8.67              Physical reads:                 24.76                 12.84             Physical writes:                  8.57                  4.44                  User calls:                 28.02                 14.53                      Parses:                  7.09                  3.68                 Hard [...]

AIX 5.2提供两种类型的AIO简介

AIX 5.2提供了两种不同类型的异步IO(AIO)核心扩展函数(Kernel Extension),即AIX传统的AIO和POSIX 标准的AIO。

AIX上如何配置异步IO

AIX上如何配置异步IO

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin