<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

Oracle數據庫的性能優化與調整

2022-09-11

進入信息社會來, 越來越多的信息都保存成電子形式, 數據庫作為信息的承載者, 發揮著重要的作用, 但不可避免的是數據庫系統的性能問題突顯, 因此如何對數據庫系統進行性能優化是至關重要的。Oracle是使用最廣泛的大型數據庫之一, 使用Oracle的應用系統規模也比較大, 需要處理的連接數和事務都是較多的, 對于這些系統來講效率是最重要的指標之一, 因此經常性地調整可以優化應用系統的性能, 防止系統出現瓶頸。

1 影響Oracle性能的因素

Oracle系統性能受到數據庫運行的諸多方面的影響與制約, 包括數據庫及其配置、操作系統、設計、應用程序。

1.1 數據庫及其配置

數據庫是整個系統的核心, 它的性能直接影響到整個系統的性能。如果對數據庫系統的選用和數據庫系統的配置不恰當的話, 對系統的設計到最終的使用都是一種災難, 所以務必做好詳細的規劃。

1.2 操作系統

操作系統不是數據庫, 但是數據庫的基礎, 作為數據庫運行的平臺, 在性能或多或少會對整個系統造成影響, 尤其是在安全性方面。

1.3 設計

應用程序的設計是整個系統的靈魂, 一個好的設計對系統性能會有很大幫助, 而一個欠佳的設計最佳的修改時期就是在設計時期, 越晚修改付出的代價也就越大。

1.4 應用程序

應用程序中SQL語句的編寫、數據庫連接方式的選擇、數據庫端程序設計以及數據庫對象的使用情況等, 都影響系統的執行效率。

以上幾方面影響性能的比例據統計分別依次占:17.5%、2.5%、20%、60%。

2 Oracle性能調整的目標

即使是在系統維護階段, 也需要建立數據庫性能的目標, 通過對比才能知道何時需要做出調整, 調整的方法從當時設計系統時是如何考慮的出發, 進行操作系統的硬件或軟件的調整, 確定問題原因, 采取有效措施。

當進行系統設計時, 制定專門的目標。當檢測到使用過程中系統不能滿足此目標了, 查找問題原因, 采取糾正措施。在開發期間, 應在實際環境中測試應用, 確定在采取應用之前是否滿足設計的性能目標。當正在維護系統時, 可以用Oracle工具 (例如A W R、A D D M) 來監視數據庫運行的狀態。無論如何, 調整通常是一系列開銷。一旦找到, 可能會要犧牲一些其它方面的指標來達到所要的結果。例如, 如果I/O競爭太大, 可能需要更多內存或磁盤。如果不可能添加設備的話, 可能就需要限制系統的并發或連接數, 以得到所需要的性能。當面對如何進行各方面的取舍時, 你必需要明白:哪些方面是最重要, 那就可以用其它方面來換取這一方面的性能。隨著應用的規模越來越龐大, 全面的調整應用逐漸變成代價高昂的行為, 在這情況下, 要取得最大的效率/投入之比, 較好的辦法是調整應用的關鍵部分, 使其達到比較高的性能, 這樣從總體上來說, 整個系統的性能也是比較高的。這也就是有名的20/80原則, 調整應用的20% (關鍵部分) , 能解決80%的問題。

3 數據庫性能的優化

3.1 明確哪些是要和計算機交互的資源

在計算機中磁盤I/O, 內存, CPU、網絡和Process是與數據庫打交道最多的資源了, 如何合理分配利用這些資源, 并且需要充分考慮到幾種資源不同的延時, 就對數據庫的性能有很大的影響了。

磁盤I/O是這幾種資源中最耗時間的, 因為磁盤是機械的設備, 延時比較大, 而硬盤的轉速在一定時期內想再提高是比較難的, 所以只能是從并行性考慮此問題, 如何提高I/O的并行涉及Oracle數據庫系統存取的原理, 需要理解清楚在進行數據庫操作時什么條件下會引起磁盤的讀寫, 有了這些知識就可以在這個基礎上進行優化了。

如何合理使用計算機內存也會對數據庫的性能造成較大的影響, Oracle數據庫中最為主要的內存區域是SGA (System Global Area) , 所有的數據庫線程、共享池以及緩存區都使用這一塊區域, 所以如果分配太少內存給這塊區域使用, 就會大大降低數據庫的整體性能, 但如果分配得太多內存, 就會限制了操作系統性能, 因此在分配SGA的大小一般占主機內存的一半。

在CPU、網絡和Process方面對數據庫的影響較以上兩方面小, 在服務器中C P U的數量越來越多, 線程數也越來越大, 在C P U處理能力上的瓶頸的情況也較少出現, 而網絡的瓶頸一般出現在C/S架構上, 如果在設計之初沒有定好網絡流量的目標, 數據庫操作的語句沒有規劃好寫在客戶端還是服務器上, 當數據庫訪問量變大后, 對網絡的流量壓力將會突顯, 因此一般大的SQL語句或操作建議放在服務器端以存儲過程形式來運行。另外, 因為Oracle連接模式有專用模式和共享模式之分, 所以采取共享模式來連接數據庫可以達到節省一部分服務器資源的目標, 但是Oracle的共享模式不是非常完善, 而且在很多操作時需要用到專用模式連接, 因此往往很少會使用共享模式來連接數據庫, 而使用專用模式連接+連接共享池 (中間層來提供) 的模式設計系統。

3.2 針對磁盤I/O調整原則

首先要建立貫穿整個應用的設計思想:最小化I/O的訪問。主要的方法以下幾點。

均衡各類文件 (控制文件、數據文件、日志文件、歸檔文件和臨時文件) 的分布。

(1) 控制文件:單獨存放, 鏡像不要過多, 2份足以。

(2) 日志文件單獨存放, 不要放在R A I D 5上, M E M B E R不要過多, 2份足以。

(3) UNDO文件單獨存放。

(4) 數據文件盡可能的要分散, 尤其是分區表和分區索引所存儲的數據文件。

(5) 臨時文件單獨存放, 不同的用戶使用不同的臨時表空間, 最好能使用臨時表空間組。

(6) 索引和數據文件分離, 對I/O影響不大, 便于管理 (根據索引的原理ROWID) 。

(7) 歸檔文件和所有其他文件分離, 更務必和日志文件絕對分離。

4 結語

Oracle數據庫系統性能優化與調整是一個復雜、繁瑣的系統工程, 貫穿于數據庫系統開發的整個過程。本文就磁盤I/O的優化和調整進行研究, 但數據庫系統的優化和調整還包括內存結構調整、磁盤碎片調整以及CPU性能調整等, 應該充分利用各種性能優化與調整策略進行反復的調整, 以獲得系統的最優性能。

摘要:Oracle數據庫性能優化對于保證系統安全, 信息安全, 業務正常運作具有重要影響。全文首先簡要闡述了影響Oracle性能的因素, 然后提出確定Oracle性能調整目標的必要性, 最后介紹了Oracle數據庫系統性能優化技術。

關鍵詞:Oracle,數據庫,優化

參考文獻

[1] 甄福東.Oracle 10g數據庫系統性能優化與調整[J].電腦知識與技術, 2010.

[2] 韓云波, 宋莉.Oracle性能調整技術研究[J].電腦知識與技術, 2010.

[3] 徐玉金.sql性能的調整-總結.2005.

[4] 謝永生.高性能數據庫設計.2010.

本文來自 99學術網(www.gaojutz.com),轉載請保留網址和出處

上一篇:黃岡革命對馬克思主義中國化的積極影響下一篇:掘進巷道探放水施工技術研究

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火