發(fā)現sort(disk)數值較高時(shí),應增加sort_area_size的內存大小
4、重做日志緩沖區
select name,value from V$sysstat where name='redo log space requests'
該查詢(xún)結構的vlue值應接近于零,否則每次將log_buffer增大5%.不過(guò)不需要超過(guò)3M,超過(guò)3M無(wú)效。
三、 命中率相關(guān)的Statspack數據表作用介紹
1、stats$buffer_pool_statistics該表是記錄緩沖池使用情況
free_buffer_wait 等待自由緩沖的數量計數
buffer_busy_wait 因沖突而不能夠請求道數據塊的次數
db_block_gets 數據塊獲取的數量
consistent_gets 邏輯讀入的數量
physical_reads oracle發(fā)出的磁盤(pán)塊獲取數量
physical_writes oracle請求的物理磁盤(pán)寫(xiě)入的數量
2、stats$librarycache該表是保存庫緩存活動(dòng)信息
namespace 命名空間,值可以是sql區域、表、過(guò)程、包、觸發(fā)器
pin 統計庫緩存中對象的執行次數
reloads 統計解析在表示庫緩存中不存在,并強制oracle分配私有sql區域來(lái)解析和執行語(yǔ)句的次數。
3、stats$rowcache_summary該表來(lái)度量辭典緩存活動(dòng)
gets 提供請求這種類(lèi)型對象的全部數量
getmisses 統計oracle不得不執行磁盤(pán)I/O來(lái)從它辭典表中獲取行的次數。
四、 使用statspack獲得和分析命中率
1. 獲得數據緩存區命中率
使用rpt_bhr_all.sql腳本在stats$buffer_pool_statistics表中獲取每次快照的命中率值、
要獲得命中率趨勢數據,可以按每天小時(shí)和每星期每天做分析。
使用rpt_bhr8i_hr.sql按照每小時(shí)的平均值給予。使用rpt_bhr8i_dy.sql按照每天的一個(gè)星期中各天的平均值給予。
2. 庫緩存缺失率
Sql語(yǔ)句的編譯包括了兩個(gè)階段:解析階段和執行階段,當解析一個(gè)sql語(yǔ)句的時(shí)候,oracle首先會(huì )檢查在庫緩存中是否已經(jīng)存在解析過(guò)的語(yǔ)句表示,如果沒(méi)有,oracle就會(huì )在庫緩存中分配一塊共享sql區域,然后解析sql語(yǔ)句。因而sql盡量少的解析過(guò)程可以提高性能。
通過(guò)rpt_lib_miss.sql腳本分析stats$librarycache表可以查看缺失率情況。
庫緩存命中率是由所有載入到ram緩沖的辭典對象所決定,這些對象包括表/過(guò)程、觸發(fā)器、索引、包以及簇,這些對象都不應該在庫緩存內發(fā)生問(wèn)題。
通過(guò)rpt_lib.sql腳本可以顯示各個(gè)快照期間庫緩存內對象的細節活動(dòng)。
3. 數據辭典緩存率
數據辭典緩存用來(lái)保存來(lái)自?xún)炔康膐racle元數據表的行,包括在包中存儲的sql,每一次對sql語(yǔ)句進(jìn)行解析以及sql收集動(dòng)態(tài)存儲進(jìn)行執行的時(shí)候,都要訪(fǎng)問(wèn)數據辭典緩存。rpt_dict_alert.sql,rpt_dict_dy.sql,rpt_dict_detail.sql,rpt_dict_detail_alert.sql
注:
1.以上所有腳本執行的結果,放到execle上,做成圖形可以做成很好的趨勢圖。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/