王文閣
(內蒙古電力信息通信中心,內蒙古呼和浩特 010020)
作為全球重要的數據庫供應商,Oracle這一數據庫在諸多的領域都取得了應用上的效果。公司核心業務如營銷、財務、生產系統大多選用了Oracle作為其數據庫系統。Oracle數據庫服務器是整個系統的核心,它的性能高低直接影響整個系統的性能。優化Oracle這一數據庫的性能時,可以提高整體的系統性能,避免其發生系統上的瓶頸,并減少投資的實際成本。本文結合當前的應用情況來討論Oracle這一數據庫性能的優化措施[1]。
在進程當中,基于讀寫的速率以及命中數據的概率在快速緩沖區比較高,因此Oracle的用戶將在快速緩沖區當中存儲一切的數據。一旦用戶想要獲取其他緩沖區當中的數據,需要得到所需的數據時,就要進入慢速的磁盤。要達到系統做出響應的效率以及命中數據的概率提升的目的,就要進一步地對快速的命中緩沖區域當中的概率進行提升,從而提高優化的意義[2]。
吞吐量指的是數據庫進行性能的調整與完成該項任務所花費的時間的比例。為了提高Oracle這一數據庫的系統性能,需要提高系統當中的吞吐量。通過優化以及調整這一系統性能,從而顯著地改善使用系統的效率。
響應時間指的是用戶將SQL相應的語句從發送到得到最終的結果所花費的時間。用戶經常需要花費大量的時間來等待使用過程中Oracle這一數據庫做出相應的響應。所以,在連接到這一數據庫之后,對做出響應的時間進行降低也是優化該數據庫系統的重要目的,因為它效率相對較低,并且對用戶的體驗過程產生重大的影響[2]。
系統的主要性能在某種程度上受制于正在運行的服務器,而操作系統的性能則受制于服務器的性能。服務器的性能問題可能會對操作系統性能產生重大的影響,并可能大大降低系統的性能[3]。
CPU是服務器操作的硬件組件。由于數據庫進程占用了CPU資源,基于此其他事務將暫停操作并延遲系統的響應速度。相反,當服務器為進行使用時,CPU中占用資源的比例大于75%。所以,當前服務器在內存參數上存在一些問題。
在高速的緩存區域里,一旦對讀寫操作進行數據讀取,那么磁盤的慢速操作只能一個進程進行運行。基于此,一旦很多的進程在同一時間里訪問磁盤中的部分數據,則數據把原因歸于操作系統具有互斥的操作,防止讀取以及寫入的沖突[4]。
主要的外部因素是網絡的速度,它會影響數據庫的性能。較低的網絡速度會增加服務器的負載,降低數據傳輸速度以及系統吞吐量,并顯著地增加系統請求延遲以及響應時間,進而對Oracle系統的性能產生影響。
如果在系統應用程序中以遞歸方式執行許多的SQL事務,則數據庫表的結構以及約束的設置將會不準確,SQL事務的執行、讀取以及寫入的效率將會明顯低下,并且系統的程序的應用存在問題。這將嚴重地制約系統的處理以及傳輸數據的性能[5]。
對SQL語句進行改善,一方面可以提升系統中的吞吐率,降低訪問I/O的次數,另一方面也可以使用網絡傳輸中的帶寬。對數據庫的SQL語句進行改善,使數據庫當中的系統安全性及穩定性大大地提升,改善運行服務器的效率。如果要完成相應的功能,則系統需要對SQL的事務進行執行。大體上涵蓋增添、修改以及檢測等系統的操作。基于此,Oracle這一數據庫的整體性能受制于SQL的執行效率。為了對Oracle這一系統的性能進行調整,則應該優化SQL語句的編寫過程。基于數據庫的整體性能的主要影響因素,使用針對性的解決策略來優化這一系統。系統的優化需要考慮重要的技術。SQL語句的優化可最大化地改善數據庫的整體性能[6]。
在整個的信息系統的角度來看,優化Oracle這一數據庫性能主要體現在Oracle這一數據庫的服務器的性能提升。此調整的流程包括:其一,基于改善用戶使用體驗。該操作系統是實現人機交互功能的第一步,并且是實現Oracle服務器的性能優化的基礎。在對Oracle這一數據庫中服務系統進行操作系統調整,可以高效地提升服務器的使用性能。其二,這一服務器是很多資源共同組成的,而這眾多的資源在服務器中匯聚所用的數據信息,使信息數據的功能最大化,從而提高對用戶對信息資源需求的供給。其三,在此數據庫中的服務器里,對邏輯的級別進行設置,并確保優先級的合理性。在這個級別上,需要拆分工作上任務的優先級以及主要、次要的關系,提供種類各異的性能服務來滿足用戶的各項需求,并首先執行比較重要的任務,從而改善Oracle這一數據庫的服務器。
在這一步要格外關注,Oracle這一數據庫服務器的體系結構中內存硬件是日志的高速緩存、緩沖區的高速緩存以及數據庫的高速緩存。這三方面的存儲器的配置改善會對Oracle這一數據庫的服務器性能產生很大的影響。調整Oracle這一數據庫緩沖區的內存大體體現在共享以及私有的SQL結構調整中,了解此結構中內存信息的容量以及運行的速度,并以數字反饋的形式將其數據庫的動態性能顯示在模塊當中。允許外部的人員使用系統來檢索該區域內存的信息,并根據該活動進行適當地調整。要調整字典的緩沖區內存中的配置,必須了解數據庫字典緩沖區的內存狀態。該存儲器結構主要被存儲數據庫內存的信息以及部分用戶的信息。內存的這一部分對數據庫服務器的整體性能有重大影響。數據日志緩沖區中的信息活動也顯示在動態性能顯示模塊中。可以動態地查詢內存相關數據當中的活動值,以確定內存的配置調整的合理化[7]。
在優化Oracle這一數據庫的服務器性能過程里,優化CPU可以更好地保護CPU的基本性能。一些無用的程序在運行時會占用CPU的執行內存,從而在執行重要文件時降低其性能,并影響CPU的執行能力。這主要體現在時間以及操作環境的影響,高溫、長時間以及過度使用程序,這些因素都會制約CPU這一資源的使用,基于此應該設置Oracle這一數據庫中服務器的內部參數來對CPU的利用效率進行調整。
優化Oracle這一數據庫的服務器性能,也要正確地認識到I/O優化的價值所在,并且主要通過以下幾個部分來進行I/O的改善,從而更加全面地掌握數據庫的基本性能,主要做到這幾點:首先,對單一的內存中信息存儲的空間進行設置,從而使用這一空間來進行訪問的用戶信息存儲,以提高響應的基本速度,創建用戶所需的表文件,并將它們分成不同的空間系統。其次,對不同種類的信息以及數據進行分類劃分,同時基于不同內存的主要性能來排列各個數據,實現數據的自動分類以及過濾,并在防止緩存數據的文件方面發揮著卓越的作用。最后,對信息的存儲空間進行擴展,隔斷各磁盤和內存相互間的關聯,把同樣屬性的數據存儲在相同的服務器當中。數據庫的負責人需要把構成相同表格的空間數據存儲在各個硬盤當中,以實現合理地分配各個硬盤I/O的負載[8]。
對系統的存儲區域進行優化,以共享用戶以及服務器這兩者的數據。這主要有:對訪問日志的空間、快速進行緩沖的區域以及共享池進行優化,擴大高速進行緩存的空間,從而提高數據檢索的數量,實現減低磁盤I/O所需的操作,降低緩存所用的空間,從而影響到系統的具體性能。
3.5.1 對共享池進行設置上的優化
對共享池進行設置上的優化主要是通過減少用戶的交互時間。也就是說,將已經執行過的SQL命令進行重復地使用,通過重新放置在數據共享池來實現,而無需進行相關的分析以及時間來存儲。這一優化是為了。確保數據的應用程序可以利用在緩存區域當中存儲的數據。基于此,具有較高速度的緩沖器提高了數據采集當中的命中概率。
3.5.2 對快速緩沖區中的信息進行合理優化
對快速緩沖區中的信息進行合理優化,對于縮短用戶進行操作所需的時間。一旦用戶查詢相關的數據,則可以在快速緩沖區域及時地獲取相應數據。在快速緩沖區中檢索數據可縮減用戶在操作當中的等待時間,基于此,這一數據庫的系統將數據發送個人給用戶主要是基于快速緩存區域。然而,如果在快速進行緩沖的區域中不能對數據進行檢索操作,則數據庫將從文件的服務器中讀取數據的副本,將數據復制并將其存儲在快速緩沖區域當中。此方法對于后續的用戶進行信息讀取十分高效。基于此,在用戶檢索相應的信息過程中,要必要保證充足的存儲空間,特別是高速進行緩存的區域,并且在確保高數據的緩沖區域大數據具有足夠的命中概率之后,進行數據系統功能的優化操作[9]。
3.5.3 對緩沖日志的區域進行調整
對日志的緩沖區域進行優化設置,主要是為了修改相應的數據。為了能夠把日志載入緩存區域的系統當中,有必要提前在高速進行緩存的區域進行日記寫入工作,之后基于用戶的個人需求進行文件的處理工作。一旦不能提供足夠的緩存空間,存儲的空間受限,將不能進行相應的日志操作,基于此一旦過于頻繁地對磁盤中I/O進行操作,將會制約數據庫的數據處理能力。
由于數據庫對象不是固定的,基于此Oracle這一數據庫系統需要連續的數據操作,并且在此過程中不可避免地會產生大量的磁盤碎片。碎片整理也是優化以及調整Oracle這一數據庫系統性能的必然方法。對于由段刪除、擴展以及創建導致表空間級的碎片,請重新組織表的空間,接下來根據EXPORI程序的指導功能導出相應的數據,最后將表中的數據導出,然后刪除相印的數據,從而消除這些碎片。
為了提高Oracle這一數據庫系統的穩定性以及效率,本文針對制約其性能運行的主要因素,提出了相應的優化策略。優化不僅需要及時地掌握系統的總體結構,還要熟悉運行系統的環境。同時,優化需要定期的跟蹤、測評、調整、檢驗,以實現Oracle這一數據庫系統的穩定以及高效運轉。