【文章內(nèi)容簡介】
l執(zhí)行計劃。 刪除在兩個快照號之間包括本身的所有統(tǒng)計分析數(shù)據(jù)。 截取statspack統(tǒng)計分析的相關數(shù)據(jù) 在統(tǒng)計分析的對應用戶perfstat下執(zhí)行執(zhí)行時間:統(tǒng)計時生成兩次快照,一般在3040分鐘左右執(zhí)行方法:用sys登陸sqlplus后間隔對應時間執(zhí)行兩次 exec 。統(tǒng)計結果視圖:stats$snapshot快照相關信息; select snap_id,snap_time from stats$snapshot。stats$sqltext快照統(tǒng)計sql信息,查詢統(tǒng)計sql(statspack報告中sql過長會被截掉)select sql_text from stats$sqltext where hash_value=查詢值 and last_snap_id=begin_snap_id order by piece。 實時查找如果需要實時的查找性能隱患的相關sql,通過v$session_wait,v$session,v$sqltext_with_newlines三張動態(tài)視圖就可以基本查找到相關的sql,腳本如下:select sql_text , from v$sqltext_with_newlines st,v$session se,v$session_wait sw where = and = = and ( = 39。buffer busy waits39。 or = 39。enqueue39。 or = 39。free buffer waits39。 or = 39。global cache freelist wait39。 or = 39。latch free39。 or = 39。log buffer space39。 or = 39。parallel query qref latch39。 or = 39。pipe put39。 or = 39。write plete waits39。 or like 39。library cache%39。 or like 39。log file switch%39。 ) order by ,。 分析報告?zhèn)€人一般主要關注top 5 event以及相關的讀邏輯塊、物理塊、執(zhí)行次數(shù)較多的sql,實際上更多的側重在sql分析上一般常見的top 5 事件如下:db file sequential read等待事件,一般問題出現(xiàn)在讀索引上,建議將業(yè)務表空間和索引表空間分開存儲在不同的物理卷下,以提高磁盤的I/O性能。db file scattered read建議程序中盡量避免使用全表掃描的語句,或者可以增大db_file_multiblock_read_count的值,提高全表掃描一次讀取數(shù)據(jù)塊的速度,減少磁盤I/O。db file parallel write說明DBWR進程正等待把緩沖區(qū)的內(nèi)容并行寫入數(shù)據(jù)文件中去,等待將一直持續(xù)到所有的I/O全部完成。建議增大初始化參數(shù)中的db_writer_processes的值。log file sync說明任何時候一個事物提交時,它將通知LGWR將LOG_BUFFER寫入日志文件,如果此部分占用時間較長,應減少COMMIT的次數(shù),建議將重做日志放到較快的磁盤上進行存儲。log file parallel write等待事件,和上面一樣建議將重做日志放到較快的磁盤上進行存儲。提取出sql以后就可以進行分析,主要采用分析執(zhí)行計劃的方式。個人一般喜歡如下的方式進行分析:l 生成計劃表(初次)以sys用戶執(zhí)行腳本${oracle_home}/rdbms/admin/,l 創(chuàng)建公用同義詞,方便在每個用戶下生成執(zhí)行計劃(初次)Create public synonym plan_table for plan_table。Grant all on plan_table to public。l 每次分析時設置sqlplus環(huán)境變量Set timing onSet autotrace traceonlyl 查看相關sql執(zhí)行計劃其他客戶端軟件pl/sql developer,toad 分析執(zhí)行計劃都比較方便。l 執(zhí)行計劃路徑解釋Full Table Scans全表掃描、無可用索引Index Unique Scans索引唯一掃描IndexRange Scans索引范圍掃描IndexRange Scans Descending索引降序范圍掃描Index Skip Scans索引跳躍掃描Full Scans全索引掃描Fast Full Index Scans快速全索引掃描Index Joins索