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
          主站蜘蛛池模板: 博湖县| 开鲁县| 卫辉市| 新兴县| 丽水市| 平和县| 新津县| 蒙自县| 同仁县| 阳朔县| 祁东县| 万州区| 万荣县| 田东县| 启东市| 尚义县| 彩票| 恩平市| 安远县| 繁昌县| 华坪县| 乐陵市| 榆中县| 上饶县| 宝兴县| 海兴县| 仪征市| 许昌市| 大姚县| 玉屏| 阳原县| 南康市| 鹤壁市| 富顺县| 团风县| 蓝田县| 洛川县| 南宁市| 鸡东县| 清徐县| 宾川县|