oracle 資料庫訪問效能優化 2

2021-08-14 02:37:50 字數 1868 閱讀 7846

oracle資料庫效能優化 - 降低io

影響到oracle效能的因素主要可以從硬體和軟體兩個方面劃分,本文通過對oracle資料庫架構的分析,

提出從硬體方面oltp系統優化oracle資料庫效能的方法,不足之處歡迎拍磚。

oracle資料庫物理儲存架構:

oracle資料庫物理檔案增長情況:

oracle archived redo log files增長快,說明redo log寫入很頻繁。

從實際大資料量和高效能oltp應用系統效能測試發現,磁陣io是限制系統效能的瓶頸,因此降低io是oracle資料庫優化的關鍵,

結合oracle資料庫物理儲存架構圖、資料庫物理檔案增長情況和實際測試發現,給磁陣io帶來很大負荷的是redo log檔案、資料檔案、索引檔案的讀寫三個方面,

並且當資料量、效能和持續壓力時間都達到一定的量時,這三者產生的io負荷相當,因此降低磁碟io的最終目標也就是降低這三類檔案的io,

通過將oracle的redo log檔案、資料檔案、索引檔案都建立到記憶體盤上的實際測試結果表明,採用這種幾乎零io的模式很大程度的提高了oracle的效能,

基於以上分析,可以對oracle資料庫的io做以下優化:

1 固態硬碟儲存redo log,提高redo log的寫入速度,

從實際運用的角度看,由於記憶體盤的易失性,把redo log檔案建立在內存檔上是不安全的,再考察redo log檔案具有大小穩定,一般在2到3個g之間的特性,因此把redo log檔案建立在固態硬碟上是個不錯的選擇

2 由於記憶體足夠大,因此將臨時表空間建立在內存檔上,對於統計、大資料量查詢、大資料量sql運算(比如:group by、sum等)的操作,

需要大量臨時表空間儲存臨時資料,這些臨時資料就直接儲存到記憶體上了,消除了oracle的大讀取和大運算產生的臨時io

3 由於索引具有可以根據資料檔案重建,不怕丟失的特性,

把索引檔案建在臨時檔案系統上,oracle每次啟動時重建索引,這樣平時的讀寫操作就不會產生索引io,索引的更新和讀取都在記憶體上進行,

系統由於各種原因出現重啟時,僅在重啟時重建一次索引

基於以上優化,把影響oracle io的三大因素去掉了兩大因素,因此效能上有望達到倍增的效果。

實驗環境:

由於本文所需測試均是從記憶體盤使用方面的優化性測試,因此有一台記憶體較大cpu稍微好一點的機器就足以做相關測試了。

遺留問題:

1 每次重啟資料庫時重建oracle索引的代價是多少,應用能否接受?

2 redo log檔案是否還有別的更加快速的訪問辦法?更快的方法安全性怎麼樣?

名詞解釋:

我沒有查到關於unix作業系統的臨時檔案系統的說明,但是unix系統通常都支援記憶體盤(ramdisk),可以用來代替tmpfs。

固態硬碟  :固態硬碟(solid state disk、ide flash disk)用固態電子儲存晶元陣列而製成的硬碟,由控制單元和儲存單元(flash晶元)組成。

傳統硬碟  :硬碟(港台稱之為硬碟,英文名:hard disc drive 簡稱hdd 全名 溫徹斯特式硬碟)是電腦主要的儲存媒介之一,由乙個或者多個鋁製或者玻璃制的碟片組成。這些碟片外覆蓋有鐵磁性材料。

redo log  :redo/undo log檔案,重做/撤銷日誌,oracle archived redo log files是對red/undo log的備份

data files:資料檔案,每乙個oracle資料庫有乙個或多個物理的資料檔案(data file)。乙個資料庫的資料檔案包含全部資料庫資料

Oracle資料庫訪問效能優化

最近在做有關查詢資料庫的工作,由於乙個表的資料量過大,導致程式程序卡死情況出現,sql優化迫在眉睫,索引閃亮登場!oracle中查詢走索引的情況 1 對返回的行無任何限定條件,即沒有where子句。2 未對資料表與任何索引主列相對應的行限定條件。例如 在id name time列建立了三列復合索引,...

優化Oracle資料庫效能

優化策略 為了保證oracle資料庫執行在最佳的效能狀態下,在資訊系統開發之前就應該考慮資料庫的優化策略。優化策略一般包括伺服器作業系統引數調整 資料庫引數調整 網路效能調整 應用程式sql語句分析及設計等幾個方面,其中應用程式的分析與設計是在資訊系統開發 分析評價oracle資料庫效能主要有資料庫...

Oracle資料庫效能優化

url size medium 為了保證oracle資料庫執行在最佳的效能狀態下,在資訊系統開發之前就應該考慮資料庫的優化策略。優化策略一般包括伺服器作業系統引數調整 資料庫引數調整 網路效能調整 應用程式sql語句分析及設計等幾個方面,其中應用程式的分析與設計是在資訊系統開發。分析評價oracle...