oracle調優策略參考:
工具採用了statspack
安裝statspack
建立乙個120m左右的表空間,如perfstat
在伺服器端用sqlplus(登入到sys as sysdba使用者)執行
@?/rdbms/admin/spcreate
執行收集的方式
exec statspack.snap
隔一段時間後再執行一遍,即可產生2個snap
生成report
@?/rdbms/admin/spreport
按照要求輸入開始和結束的id,即前面2次說產生的id
清除過多資料的方法
@?/rdbms/admin/sppurge
ok,檢視report所產生的lst檔案,可根據下面的引數進行調優判斷
效率方面:
1 buffer nowait
數值大(>95%)表示資料緩衝區足夠大
否則需要增加資料緩衝區的大小,或調整資料檔案io的速度
2 redo nowait
資料大(>99%)表示log_buffer足夠
否則調整log_buffer的大小
3 buffer hit
足夠大(>95%)表示命中率較高
否則可以調整資料緩衝區的大小
4 in-memory sort
數字大(>95%)表示大部分資料在記憶體中進行排序
否則調整sort_area_size的值,或pga_aggregate_target的值
5 library hit
資料大(>95%)表示sql的命中率較高
否則需要調整shared_pool_size的值,或者需要調整sql,使用bind variable
6 soft parse
數字大(>95%)表示sql的緩衝情況比較好
否則需要增加shared_pool_size的值
7 execute to parse
=100 * (1 - parses/executions)
資料大表示重新解釋的次數較多,在snapshot較多的系統中值可能很低,因為完全重新整理後很多sql語句執行時需要重新解釋,動態的創
建表或索引等也會增加parse的次數.
8 latch hit
數字大(>99%)表示內部鎖比較好
否則需要查詢oracle有關版本的bug說明
9 parse cpu to parse elapsed
做sql解釋時cpu的利用率
資料越大表示解釋的效率高
10 non-parse cpu
表示用於sql parse的cpu的比重
數值越大越好
事件方面:
1 buffer busy wait
訪問的塊正在讀取中,其他程序正在將資料讀到cache中
訪問的塊正在修改中,其他程序正在修改cache中的資料
調整思路:將資料檔案放在讀取速度更快的裝置上
2 checkpoint completed
等待checkpoint操作結束
調整思路:,減小一些log buffer的大小,增加checkpoint的頻率,將log檔案放在更快的磁帶裝置上,如raid
3 control file parallel write
等待向所有的控制檔案寫資料
調整思路:減少control file的個數;將不同control file分布到不同的磁碟驅動器
4 control file sequential read
從control file中讀取資訊
調整思路:將control file放在比較空閒的磁碟上;將control file放在速度更快的磁碟上
5 db file scattered read
讀取大量的資料塊到cache中
調整思路:調整大表上的索引,收集更集統計資訊
6 db file sequential read
一般指讀取索引的資料
調整思路:調整索引的設計;rebuild索引,提高索引效率
7 undo segment tx slot
等待獲得回滾段
調整思路: 增加回滾段的個數;增加回滾段的初始extent的數量
Oracle 資料庫調優
通常我們在安裝完oracle資料庫以後本地就直接使用了,但是用在正式的生產環境上還是需要一點優化的,否則就會是預設的最低配機器配置。難以發揮伺服器的效能。這裡記錄一下比較常用的幾個引數 進入檔案 etc sysctl.conf kernel.shmmax 24051816858 記憶體的70 ker...
Oracle調優參考
一 查oracle引數並進行調整1 檢視oracle的init.ora檔案 引數一 db block buffers 引數二 shared pool size 引數三 process 500 引數四 distributed stransactions 200 引數五 sort area size 1...
oracle資料庫調優筆記
select tablespace name,file id,bytes 1024 1024,file name from dba data files order byfile id selectgroup member from v logfile select from v logfile s...