Oracle實施系統資源管理分配計劃以及SQL優化連接方案是本文我們主要要介紹的內容,接下來我們就來一一介紹這部分內容。
實施系統資源管理分配計劃
Oracle提供了Database Resource Manager(DRM,數據庫資源管理器)來控制用戶的資源分配,DBA可以用它分配用戶類和作業類的系統資源百分比。在一個OLDP系統中,可給聯機 用戶分配75%的CPU資源,剩下的25%留給批用戶。另外,還可以進行CPU的多級分配。除了進行CPU資源分配外,DRM還可以對資源用戶組執行並行 操作的限制。
使用最和SQL優化數據庫連接方案
1、使用直接的OLE DB數據庫連接方式。
通過ADO可以使用兩種方式連接數據庫,一種是傳統的ODBC方式,一種是OLE DB方式。ADO是建立在OLE DB技術上的,為了支持ODBC,必須建立相應的OLE DB到ODBC的調用轉換,而使用直接的OLE DB方式則不需轉換,從而提高處理速度。
2、使用Connection Pool機制
在數據庫處理中,資源花銷最大的是建立數據庫連接,而且用戶還會有一個較長的連接等待時間。解決的辦法就是復用現有的Connection,也就是使用Connection Pool對象機制。
Connection Pool的原理是:IIS+ASP體系中維持了一個連接緩沖池,這樣,當下一個用戶訪問時,直接在連接緩沖池中取得一個數據庫連接,而不需重新連接數據庫,因此可以大大地提高系統的響應速度。
3、高效地進行SQL語句設計
通常情況下,可以采用下面的方法優化SQL對數據操作的表現:
(1)減少對數據庫的查詢次數,即減少對系統資源的請求,使用快照和顯形圖等分布式數據庫對象可以減少對數據庫的查詢次數。
(2)盡量使用相同的或非常類似的SQL語句進行查詢,這樣不僅充分利用SQL共享池中的已經分析的語法樹,要查詢的數據在SGA中命中的可能性也會大大增加。
(3)限制動態SQL的使用,雖然動態SQL很好用,但是即使在SQL共享池中有一個完全相同的查詢值,動態SQL也會重新進行語法分析。
(4)避免不帶任何條件的SQL語句的執行。沒有任何條件的SQL語句在執行時,通常要進行FTS,數據庫先定位一個數據塊,然後按順序依次查找其它數據,對於大型表這將是一個漫長的過程。
(5)如果對有些表中的數據有約束,最好在建表的SQL語句用描述完整性來實現,而不是用SQL程序中實現。
(6)可以通過取消自動提交模式,將SQL語句匯集一組執行後集中提交,程序還可以通過顯式地用COMMIT和ROLLBACL進行提交和回滾該事務。
(7)檢索大量數據時費時很長,設置行預取數則能改善系統的工作表現,設置一個最大值,當SQL語句返回行超過該值,數值庫暫時停止執行,除非用戶發出新的指令,開始組織並顯示數據,而不是讓用戶繼續等待。
充分利用數據的後台處理方案減少網絡流量
1、合理創建臨時表或視圖
所謂創建臨時表或視圖,就是根據需要在數據庫基礎上創建新表或視圖,對於多表關聯後再查詢信息的可建新表,對於單表查詢的可創建視圖,這樣可充分利用數 據庫的容量大、可擴充性強等特點,所有條件的判斷、數值計算統計均可在數據庫服務器後台統一處理後追加到臨時表中,形成數據結果的過程可用數據庫的過程或 函數來實現。
2、數據庫打包技術的充分利用
利用數據庫描述語言編寫數據庫的過程或函數,然後把過程或函數打成包在數據庫後台統一運行包即可。
3、數據復制、快照、視圖,遠程過程調用技術的運用
數據復制,即將數據一次復制到本地,這樣以後的查詢就使用本地數據,但是只適合那些變化不大的數據。使用快照也可以在分布式數據庫之間動態復制數據,定義 快照的自動刷新時間或手工刷新,以保證數據的引用參照完整性。調用遠程過程也會大大減少因頻繁的SQL語句調用而帶來的網絡擁擠。
總之:對所有的性能問題,沒有一個統一的解決方法,但ORACLE提供了豐富的選擇環境,可以從Oracle數據庫的體系結構、軟件結構、模式對象 以及具體的業務和技術實現出發,進行統籌考慮。提高系統性能需要一種系統的整體的方法,在對數據庫進行優化時,應對應用程序、I/O子系統和操作系統 (OS)進行相應的優化。優化是有目的地更改系統的一個或多個組件,使其滿足一個或多個目標的過程。對Oracle來說,優化是進行有目的的調整組件級以 改善性能,即增加吞吐量,減少響應時間。如果DBA能從上述九個方面綜合考慮優化方案,相信多數Oracle應用可以做到按最優的方式來存取數據。
關於Oracle資源管理分配計劃以及優化連接方案的知識就介紹到這裡了,希望本次的介紹能夠對您有所收獲!