摘 要:本文對ORACLE資料庫及ORACLE應用程式的最佳化,進行了全面的分析與研究,並提出了自己的一些建議。
關 鍵 詞:ORACLE,最佳化,資料庫,SQL
1.引言
隨著資訊化時代的到來,人們開始廣泛地使用資料庫技術對大量而複雜的資訊進行科學高效的管理。在資料庫領域中的各種應用軟體大量湧現,有Visual Foxpro,Power Builder等等,但其中ORACLE是這個領域中最優秀也是最流行的大型資料庫應用軟體。本文就在ORACAL中如何最佳化資料庫及其應用程式進行了研究。
2.最佳化資料庫
2.1 最佳化設定控制檔案的個數,位置及其備份
建議CONTROL_FILE初始化參數中指定多個檔案應大於2,並將控制檔案鏡像到不同位置,並要把這些控制檔案備份到安全的磁碟中。
2.2最佳化設計資料表空間,資料檔案的大小及位置
2.2.1設計資料表空間
盡量把同一時間對磁碟的讀寫操作分散開,如對一個表中資料進行更新時,資料庫將同時去讀該表中的資料和該表上的索引資訊,如果把表的資料資訊和索引資訊都放在同一個資料檔案中,則資料庫的速度將會變慢。最好是把資料資訊和索引資訊分別放在不同磁碟的兩個資料檔案中,此時資料庫對磁碟的讀寫操作將分散在兩個磁碟上,速度將得到顯著提高。因此在設計資料庫的資料表空間和資料檔案時,首先給表和表的索引分別建立兩個資料表空間(存放使用者資料的資料資料表空間和存放表索引的索引資料表空間)。另外,還根據該系統的資料量的大小及系統中的資料的性質不同,再考慮建立幾個資料資料表空間或者給資料資料表空間添加幾個資料檔案。
2.2.2設計資料檔案的大小
把記錄大小相當的表放在同一個資料表空間中,這時一個資料表空間的儲存參數設定,可以保證表中的記錄都放在一個範圍中,避免了一條記錄跨範圍存放,可以明顯資料庫的效能。
2.2.3設計資料檔案的位置
為了避免磁碟的I/O操作衝突,應把資料檔案建立在不同位置。
2.3最佳化設計重演記錄檔
2.3.1 重演記錄檔的大小
由於資料庫在利用重演記錄檔時是迴圈使用它們的,而且當LGWR進程在兩個記錄檔切換時,將自動產生一個檢測點,所以重演記錄檔的大小會直接影響到檢測點出現的頻率。而由於在資料庫檢測點時,對使用者而言,資料庫的速度會受影響,所以檢測點的出現頻率大,或者檢測點正好出現在資料庫處理資料高峰期,將會極大影響資料庫的效能。因此,重演記錄檔的大小設計,應考慮檢測點出現的頻率以及檢測點應避開資料庫處理資料的高峰期。
2.3.2 重演記錄檔組的個數
在ARCHIVELOG模式下時,適當增加重演記錄檔組的個數,可以降低資料庫存檔記錄檔的頻率。
2.3.3 重演記錄檔的存檔
應把重演記錄檔的存檔之處設定在磁碟讀寫更快的物理裝置上。這樣可以減少記錄檔的存檔時間。
2.4 復原段的最佳化設計
2.4.1 復原段數目的設計
要考慮資料庫需要支援的並發事務的數目,因為每個復原段有其所能支援的最大事務數,如果復原段數目不夠多,則有些新事務被迫要等待,將影響資料庫的效能。