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 宋針還 閱讀(282) 評論(0)  編輯  收藏 所屬分類: SQL
          主站蜘蛛池模板: 滕州市| 蕉岭县| 天祝| 武鸣县| 崇义县| 东莞市| 潼南县| 黄平县| 古蔺县| 鄢陵县| 开封市| 阿鲁科尔沁旗| 高要市| 乐安县| 襄樊市| 鄢陵县| 宁夏| 玛曲县| 衡南县| 台湾省| 河南省| 白朗县| 米林县| 科技| 兴宁市| 南溪县| 宜兰县| 和平区| 青阳县| 竹山县| 罗甸县| 电白县| 利津县| 安溪县| 本溪市| 门头沟区| 白河县| 隆回县| 连云港市| 论坛| 平顶山市|