szhswl
          宋針還的個人空間

              下面是我收藏的一些查找bad sql的方法:

              select * from (select buffer_gets, sql_text
              from v$sqlarea
              where buffer_gets > 500000
              order by buffer_gets desc) where rownum<=30;


              -- 執行次數多的SQL

              select sql_text,executions from
              (select sql_text,executions from v$sqlarea order by executions desc)
              where rownum<81;


              -- 讀硬盤多的SQL

              select sql_text,disk_reads from
              (select sql_text,disk_reads from v$sqlarea order by disk_reads desc)
              where rownum<21;


              -- 排序多的SQL

              select sql_text,sorts from
              (select sql_text,sorts from v$sqlarea order by sorts desc)
              where rownum<21;


              --分析的次數太多,執行的次數太少,要用綁變量的方法來寫sql

              set pagesize 600;
              set linesize 120;
              select substr(sql_text,1,80) "sql", count(*), sum(executions) "totexecs"
              from v$sqlarea
              where executions < 5
              group by substr(sql_text,1,80)
              having count(*) > 30
              order by 2;


              -- 游標的觀察

              set pages 300;
              select sum(a.value), b.name
              from v$sesstat a, v$statname b
              where a.statistic# = b.statistic#
              and b.name = 'opened cursors current'
              group by b.name;
              select count(0) from v$open_cursor;
              select user_name,sql_text,count(0) from v$open_cursor
              group by user_name,sql_text having count(0)>30;


              --查看當前用戶&username執行的SQL

             select sql_text from v$sqltext_with_newlines where (hash_value,address) in
              (select sql_hash_value,sql_address from v$session where username='&username')
              order by address,piece;

           



          ---------------------------------------------------------------------------------------------------------------------------------
          說人之短,乃護己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進德,可以遠怨。
          http://www.aygfsteel.com/szhswl
          ------------------------------------------------------------------------------------------------------ ----------------- ---------
          posted on 2007-12-03 17:24 宋針還 閱讀(286) 評論(0)  編輯  收藏 所屬分類: SQL
          主站蜘蛛池模板: 邳州市| 津南区| 曲麻莱县| 资阳市| 无棣县| 台东市| 津市市| 独山县| 临漳县| 鄄城县| 施甸县| 金塔县| 青海省| 渭源县| 香河县| 藁城市| 桃园县| 临潭县| 渭南市| 高州市| 湖州市| 澜沧| 昂仁县| 株洲县| 平度市| 屏东县| 南丹县| 闻喜县| 凭祥市| 墨江| 临颍县| 拉孜县| 阜平县| 阳江市| 广平县| 海城市| 嘉祥县| 漯河市| 常德市| 永善县| 比如县|