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 宋針還 閱讀(287) 評論(0)  編輯  收藏 所屬分類: SQL
          主站蜘蛛池模板: 进贤县| 鹿邑县| 资中县| 彰化市| 邢台市| 墨脱县| 姜堰市| 达尔| 武平县| 旬阳县| 平陆县| 星子县| 洛隆县| 保亭| 泰顺县| 胶州市| 增城市| 彭山县| 砚山县| 习水县| 西宁市| 仁怀市| 沅江市| 济阳县| 新昌县| 崇文区| 开远市| 孝感市| 磐石市| 吉木乃县| 镇宁| 信阳市| 怀柔区| 襄樊市| 平山县| 闽侯县| 合水县| 莱州市| 玉田县| 明光市| 宣恩县|