Oracle性能分析與優化

來源:文萃谷 2.18W

  一、何時考慮性能的問題。

Oracle性能分析與優化

考慮性能的問題應該貫穿於整個系統建設的各個階段中:系統設計、數據庫設計、代碼開發、系統運維。

1.系統設計階段:

系統架構方面:二層、三層、多層

系統類型:OLAP——生成報表等,主要考慮海量數據的處理速度

OLTP——主要考慮內存(cache)、併發、並行等

系統生命周期中系統能力的估算:併發數、查詢的.響應時間等。負面例子:2008北京奧運會訂票系統崩潰。

2.數據庫設計階段,着重考慮數據庫對象的類型和屬性:

分區。

索引及其類型(OLTP,一般用B-Tree;OLAP,一般考慮用Bitmap或Text索引)。

並行。

其它的一些對象屬性(ASSM、併發屬性)。

內存相關參數。

併發相關參數。

I/O相關參數。

數據庫架構(單節點、RAC、分佈式)。

硬件性能(CPU、內存等)。

3.高效的SQL與變量綁定(OLTP)

誤區:不恰當的使用Hint:強制使用索引、強制設定驅動表、強制優化器模式

4.對象類型:屬性、參數的修改

  二、DBA應該參與到系統建設的各個階段中,開發人員應儘可能地考慮性能問題。

  三、優化的內容:

1.參數:OLTP:內存:SGA、PGA

並行:PROCESSES、SESSIONS

2.對象屬性:分區、並行

3.索引類型:B-Tree、Bitmap、Text

4.高效的SQL

執行計劃

6.對錶進行分析:直方圖,DBMS_STATS包

  四、優化工具

_Trace

2.10046事件

3.性能視圖,如:V$SQL、V$SESSION、V$LOCK、V$SESSION_LONGOPS

4.10053事件,將顯示Oracle執行計劃中的所有詳細操作

5.優化工具:Hint—— 優化器模式

訪問路徑

表連接順序

併發方式

Statspack(AWR)報告、ASH報告

熱門標籤