<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評(píng)論 :: 0 Trackbacks
    一、重要的腳本
    ?
    ??? 1、通過(guò)導(dǎo)出保存及共享數(shù)據(jù)
    ?
    ??? 有時(shí)需要將原始數(shù)據(jù)導(dǎo)出后,請(qǐng)教專業(yè)人士進(jìn)行分析,可以使用spuexp.par,內(nèi)容如下:
    ?
    ??? file=spuexp.dmp log=spuexp.log compress=y grants=y indexes=y rows=y constraints=y owner=PERFSTAT consistent=y
    ?
    ??? 使用一下腳本進(jìn)行導(dǎo)出:
    ?
    ??? SQL> host exp userid=perfstat/perfstat parfile=E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spuexp.par
    ??? ... ...
    ??? 成功終止導(dǎo)出, 沒(méi)有出現(xiàn)警告。
    ?
    ??? 在當(dāng)前目錄下生成spuexp.dmp文件。
    ?
    ??? 2、刪除數(shù)據(jù)腳本
    ?
    ??? 用于刪除數(shù)據(jù)的spdrop.sql腳本主要調(diào)用了spdtab.sql和spdusr.sql兩個(gè)腳本
    ??? spdtab.sql用于刪除表和同義詞
    ??? spdusr.sql用于刪除用戶
    ?
    ?
    二、調(diào)整Statspack收集選項(xiàng)
    ?
    ??? Statspack有兩種類型的收集選項(xiàng):級(jí)別(level)、門限(threshold)
    ?
    ??? 1、級(jí)別(level)
    ?
    ??? 一共分為三個(gè)級(jí)別,分別是0、5、10,默認(rèn)是5。
    ?
    ??? ① level 0:一般性統(tǒng)計(jì)。包括等待事件、系統(tǒng)事件、系統(tǒng)統(tǒng)計(jì)、回滾段統(tǒng)計(jì)、行緩存、SGA、會(huì)話鎖、緩沖池統(tǒng)計(jì)等
    ??? ② level 5:增加SQL語(yǔ)句。SQL語(yǔ)句收集結(jié)果放在stats$sql_summary中
    ??? ③ level 10:增加子鎖存統(tǒng)計(jì)。將附加子鎖存入stats$lathc_children中(本級(jí)別建議在oracle support指導(dǎo)下進(jìn)行)
    ?
    ??? 修改方式:
    ?
    ??? ① SQL> execute statspack.snap(i_snap_level=>0,modify_parameter=>'true'); --以后都修改
    ??? ② SQL> execute statspack.snap(i_snap_level=>10); --只修改本次
    ?
    ??? 2、快照門限
    ?
    ??? 門限只用于stats$sql_summary表中獲取的SQL語(yǔ)句。由于每個(gè)快照都會(huì)收集很多數(shù)據(jù),每一行都代表獲取快照時(shí)數(shù)據(jù)庫(kù)中的一個(gè)SQL語(yǔ)句,因此stats$sql_summary很快就會(huì)成為Statspack中最大的表,所以需要加門限進(jìn)行限制。
    ?
    ??? executions_th:SQL語(yǔ)句執(zhí)行的數(shù)量(默認(rèn)值100)
    ??? disk_reads_th:SQL語(yǔ)句執(zhí)行的磁盤讀入數(shù)(默認(rèn)值1000)
    ??? parse_calls_th:SQL語(yǔ)句執(zhí)行的解析調(diào)用數(shù)量(默認(rèn)值1000)
    ??? buffer_gets_th:SQL語(yǔ)句執(zhí)行的緩沖區(qū)獲取的數(shù)量(默認(rèn)值10000)
    ?
    ??? 任何一個(gè)門限值超過(guò)以上參數(shù)就會(huì)產(chǎn)生一條記錄。
    ?
    ??? 使用一下腳本修改門限的默認(rèn)值:
    ?
    ??? SQL> execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000);
    ?
    ???
    ?
    三、整理分析結(jié)果
    ?
    ?
    ??? Statspack進(jìn)行快照采集之后,會(huì)在stats$sysstat表中,針對(duì)每個(gè)snap生成N行數(shù)據(jù),每一行表示當(dāng)前某一項(xiàng)參數(shù)的值,具體的參數(shù)代碼及名稱可以使用以下腳本查詢:
    ?
    ??? SQL> select distinct statistic#,name from stats$sysstat order by 1;
    ?
    ??? statistic# name
    ??? ---------- ------------------------------------
    ?????????????0?logons cumulative
    ???????????? 1?logons current
    ????????? ?? 2?opened cursors cumulative
    ???????????? 3?opened cursors current
    ??????????? ?4?user?commits
    ??? ... ...
    ?
    ??? 1、物理讀寫IO操作:
    ?
    select sn.snap_id,
    ?????? to_char(snap_time, 'hh24:mi:ss') sp_time,
    ?????? (newreads.value - oldreads.value) reads,
    ?????? (newwrites.value - oldwrites.value) writes
    ? from stats$sysstat? oldreads,
    ?????? stats$sysstat? newreads,
    ?????? stats$sysstat? oldwrites,
    ?????? stats$sysstat? newwrites,
    ?????? stats$snapshot sn
    ?where newreads.snap_id = sn.snap_id
    ?? and newwrites.snap_id = sn.snap_id
    ?? and oldreads.snap_id = sn.snap_id - 1
    ?? and oldwrites.snap_id = sn.snap_id - 1
    ?? and oldreads.statistic# = 37
    ?? and newreads.statistic# = 37
    ?? and oldwrites.statistic# = 40
    ?? and newwrites.statistic# = 40
    ?? and (newreads.value - oldreads.value) > 0
    ?? and (newwrites.value - oldwrites.value) > 0;
    ?
    ??? 該SQL表述了在各個(gè)時(shí)間段中的IO物理讀和IO物理寫的數(shù)量,可用于分析各個(gè)時(shí)間段的峰值以及平均IO量,以減少競(jìng)爭(zhēng)。
    ?
    ??? 2、Buffer命中率:
    ?
    select sn.snap_id,
    ?????? to_char(snap_time, 'hh24:mi:ss') sp_time,
    ?????? round(100 *
    ???????????? ((a.value - d.value) + (b.value - e.value) - (c.value - f.value))
    ?????????? / ((a.value - d.value) + (b.value - e.value))) "Buffer Hit Ratio"
    ? from stats$sysstat? a,
    ?????? stats$sysstat? b,
    ?????? stats$sysstat? c,
    ?????? stats$sysstat? d,
    ?????? stats$sysstat? e,
    ?????? stats$sysstat? f,
    ?????? stats$snapshot sn
    ?where a.snap_id = sn.snap_id
    ?? and b.snap_id = sn.snap_id
    ?? and c.snap_id = sn.snap_id
    ?? and d.snap_id = sn.snap_id - 1
    ?? and e.snap_id = sn.snap_id - 1
    ?? and f.snap_id = sn.snap_id - 1
    ?? and a.statistic# = 47
    ?? and d.statistic# = 47
    ?? and b.statistic# = 50
    ?? and e.statistic# = 50
    ?? and c.statistic# = 54
    ?? and f.statistic# = 54;
    ?
    ??? 注:Buffer Hit Ratio = (db block gets + consistent gets - physical reads) / (db block gets + consistent gets)
    ?
    ?
    ?
    ?




    -The End-

    posted on 2009-01-19 21:50 decode360-3 閱讀(226) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 日韩欧美亚洲中文乱码| 一级日本高清视频免费观看| 国产一区二区三区在线观看免费| 羞羞网站免费观看| 亚洲91av视频| 日韩a级毛片免费观看| 久久久久久av无码免费看大片| 亚洲精品亚洲人成在线观看麻豆| 国产精品极品美女免费观看| 精品四虎免费观看国产高清午夜| 亚洲ts人妖网站| 亚洲色精品88色婷婷七月丁香| 精品久久久久成人码免费动漫| 免费手机在线看片| 亚洲精品综合久久中文字幕| 亚洲欧洲中文日韩av乱码| 在线看片v免费观看视频777| 一级黄色片免费观看| 精品久久亚洲中文无码| 亚洲精品无码永久在线观看你懂的| 免费毛片在线看片免费丝瓜视频| 免费看少妇高潮成人片| 狼人大香伊蕉国产WWW亚洲| 亚洲第一页在线视频| 国产精品亚洲精品日韩已方| 最近中文字幕mv免费高清电影| 好湿好大好紧好爽免费视频| 亚洲国产精品嫩草影院| 久久亚洲春色中文字幕久久久 | 最近高清中文字幕免费| 黄色网址大全免费| 美女视频黄免费亚洲| 久久亚洲春色中文字幕久久久| 国产亚洲精aa成人网站| 国产又粗又猛又爽又黄的免费视频 | 国产成人亚洲精品91专区高清 | 亚洲精品福利你懂| 成人看的午夜免费毛片| 99热在线免费观看| 日韩电影免费在线观看网站 | 久草视频在线免费看|