洪英琦
?
關(guān)于優(yōu)化Oracle數(shù)據(jù)庫的性能的技術(shù)探究
洪英琦
黑龍江省大慶市大慶油田總醫(yī)院,黑龍江 大慶 163000
oracle數(shù)據(jù)庫管理系統(tǒng)在計算機網(wǎng)絡(luò)中的作用非常關(guān)鍵,該數(shù)據(jù)庫的優(yōu)化性能技術(shù)能夠?qū)Χ鄠€方面起到保護作用,這些方面包括系統(tǒng)的安全性,業(yè)務(wù)運行方面,信息安全方面等等。作者在本篇論文中,重點從幾個方面對onclc數(shù)據(jù)庫的優(yōu)化的問題進行闡述,這幾方面包括 中央處理器,磁盤方面,內(nèi)存方面以及應(yīng)用SQL語句方面,希望本人的論述能夠?qū)?yīng)用大型數(shù)據(jù)庫的人員提供一些幫助。
Oracle數(shù)據(jù)庫;性能優(yōu)化技術(shù);管理系統(tǒng);計算機網(wǎng)絡(luò)
影響數(shù)據(jù)庫性能的關(guān)鍵因素就是磁盤的YO速度,而磁盤競爭,數(shù)據(jù)塊空間的分配不合理,分配YO的次數(shù)過多等等是影響磁盤YO性能的本質(zhì)原因。為最大限度的使I/O讀數(shù),磁盤競爭減少,實現(xiàn)多磁盤上YO的平衡性,為有效提升磁盤性能,可以重點從以下幾方面著手:創(chuàng)建表空間過程中,可在多個不同的物理磁盤上存儲表空間所需的數(shù)據(jù)文件。尤其針對UNDO表空間與回退段空間,促進YO系統(tǒng)的平衡性;可分別在數(shù)據(jù)庫的不同磁盤上存儲相關(guān)數(shù)據(jù)和事務(wù)性日志文件,盡量不要在相同的磁盤數(shù)據(jù)文件 與事務(wù)日志文件 上進行讀取競爭;不同種類的磁盤上可以存儲不同的表空間,可在不同的表空間中存儲相同的應(yīng)用數(shù)據(jù)與索引數(shù)據(jù),最大限度的清除索引數(shù)據(jù)及表數(shù)據(jù)。而優(yōu)化磁盤的主要手段就是對服務(wù)器磁盤YO的管理,另外,我們還應(yīng)當對下述幾方面給予關(guān)注:在服務(wù)器的磁盤中,至少要預(yù)留出百分之三十左右的剩余空間,對磁盤碎片整理程序存放的中間數(shù)據(jù)以及系統(tǒng)的臨時數(shù)據(jù)進行存放;因為 ORACLE數(shù)據(jù)庫對數(shù)據(jù)壓縮功能不提供支持, 所以,在壓縮該數(shù)據(jù)庫的文件時,無法使用磁盤壓縮技術(shù);對數(shù)據(jù)庫文件進行創(chuàng)建之前,需要先把數(shù)據(jù)庫相關(guān)服務(wù)功能及實例關(guān)閉掉,隨后應(yīng)用磁盤碎片整理程序,對磁盤空間的碎片進行整理,這種方式可避免數(shù)據(jù)文件再出現(xiàn)碎片,日志文件不需要放置在RAIDS卷上面,因為RAIDS的寫性能很容易出現(xiàn)問題,最好坂硬件RAID控制器和RAID技術(shù)。
使用服務(wù)器CPU時,能夠從很大程度上影響到數(shù)據(jù)庫的性能,對CPU進行調(diào)整,可以對服務(wù)器的各種資源進行充分的利用,有效提升數(shù)據(jù)庫運行的效率和速度。通常狀況下,與操作系統(tǒng)總CPU時間相比, ORACLE 數(shù)據(jù)庫使用的 CPU 時間要達到 90%以上,一旦比這個值低,就證明其他程序過多的占用了服務(wù)器,應(yīng)該及時調(diào)整服務(wù),CPU的情況可以利用 W indows操作系統(tǒng)中的任務(wù)管理器來查看,針對目前哪部分進程應(yīng)用了系統(tǒng)的資源有了一定的了解,不過,造成該數(shù)據(jù)庫CPU資源不足的問題是由多種情況引起的,例如,SQL語句不恰當不科學(xué),數(shù)據(jù)庫和用戶間的會話連接數(shù)目較高等,為調(diào)整系統(tǒng)CPU的性能,我們可以從以下幾方面采取有效措施:為使ORACLE 數(shù)據(jù)進程的級別進一步提升,利用該系統(tǒng)對ORACLE事務(wù)進行優(yōu)先處理,使數(shù)據(jù)庫的運行速度得到有效的提升,避免出現(xiàn)鎖沖突問題,為使數(shù)據(jù)庫鎖沖突數(shù)量值降低,可以對參數(shù)文件中的COUNT與SPI值進行初始化操作,使系統(tǒng)性能得到提升;對于無需的會話進行刪除,將系統(tǒng) 的CPU資源有效釋放,數(shù)據(jù)庫運行時,因操作失誤被系統(tǒng)鎖定,則數(shù)據(jù)庫與用戶間的會話就變成了死進程,不過,此會話將無法自行被刪除,依然對系統(tǒng)一部分CPU資源占用著,可有效利用 SELECT FRO M VYLO CK ED—OBJECT 對目前什么用戶被系統(tǒng)鎖定進行查詢,隨后再進入到實例管理器 ORACLE 中,再刪除掉這些用戶和數(shù)據(jù)庫的會話內(nèi)容[1]。
我們通常都是利用數(shù)據(jù)庫的SQL語句來執(zhí)行數(shù)據(jù)庫的各種操作,具體包括查詢,刪除和添加等等,所以,ORACLE數(shù)據(jù)庫的性能高與低主要由SQL語句的執(zhí)行效率所決定。而SQL語句的優(yōu)能也需要進一步進行優(yōu)化,利用不同的方法編寫SQL語句,在執(zhí)行效率方面將產(chǎn)生較大的區(qū)別性。為了進一步對SQL語句進行優(yōu)化,需要對SQL語句的執(zhí)行過程提前掌握。執(zhí)行一個SQL語句可分為三個步驟,具體包括數(shù)據(jù)的讀取,語法的編譯,分析和執(zhí)行。經(jīng)過分析SQL語句的執(zhí)行過程可知,為有效提升SQL語句的執(zhí)行效率,我們可以從下述幾方面著手:
(1)可以在內(nèi)存中保留常用的實體。可在內(nèi)存區(qū)域中駐留存儲包或者過程等等,通過這種方式,就不必再編譯和分析SQL語句了,而語句的執(zhí)行效率也得到進一步的提高。
(2)對索引進行創(chuàng)建,通過索引使磁盤YO操作減少,使查詢速度提高,數(shù)據(jù)庫在OLTP系統(tǒng)當中,當處在繁忙運行狀態(tài)時,查詢的速度進一步提升,磁盤的YO操作也減少了,數(shù)據(jù)庫在OLTP系統(tǒng)中,在運行比較繁忙的狀態(tài)下,與無索引查詢功能相比,應(yīng)用索引查詢的速度更快一些。
(3)合理科學(xué)的排序所查詢的數(shù)據(jù)表,該數(shù)據(jù)系統(tǒng)在處理查詢數(shù)據(jù)時,主要順序是由后向前,即在最后的表格中檢索FROM子句,隨后對倒數(shù)第二個表進行再次檢索,所以,最合理的方式,就是在FROM子句的末尾放置記錄數(shù)據(jù)最少的表[2]。
(4)合理的對查詢條件進行科學(xué)排序。利用OR A CL E數(shù)據(jù)庫系統(tǒng),在解析WHERE子句時,可以有效應(yīng)用自后向前的順序進行,所以,可以對其他查詢條件進行書寫之前,設(shè)置表與表之間的連接,一定要在WHERE子句的末尾列出最有選擇性的條件[3]。
(5)為對SQL語句的執(zhí)行方式進行確定,可以應(yīng)用SQL優(yōu)化器,即SQL OPTIM IZER,其中SQL語句的優(yōu)化包括兩種方法,即CBO優(yōu)化器,主要以成本為基礎(chǔ),Rao優(yōu)化器,主要以規(guī)則為基礎(chǔ)。其中對SQL語句的運行成本給予考慮的,主要是成本優(yōu)化器,其程序運行過程中,具有最小的資源消耗量;而對運行成本毫不關(guān)心的則是基于規(guī)則的優(yōu)化器,它的執(zhí)行需要通過固定的路徑進行,我們可以在新型應(yīng)用系統(tǒng)中利用此類優(yōu)化器,這種優(yōu)化器對查詢語句非常適用。
總而言之,對 ORACLE 數(shù)據(jù)庫性能有較大影響的因索不少,調(diào)整 ORACLE 數(shù)據(jù)庫的性能是一項系統(tǒng)性工程。目前數(shù)據(jù)庫管理人員的一個非常重要的課題,就是針對數(shù)據(jù)庫實際應(yīng)用狀況,采取多種措施,有效提升系統(tǒng)的工作效率。
[1]左渭斌.基于Oracle數(shù)據(jù)庫性能優(yōu)化及監(jiān)控研究[J].才智,2011(26):36.
[2]郭霞.基于Oracle數(shù)據(jù)庫性能優(yōu)化技術(shù)研究[J].電腦知識與技術(shù),2011(24):58.
[3]梁云.淺談Oracle數(shù)據(jù)庫性能調(diào)優(yōu)[J].科技與企業(yè),2012(16):44.
Technical Inquiry on Optimizing the Performance of Oracle Database
Hong Yingqi
Daqing Oilfield General Hospital of Daqing City, Heilongjiang Province 163000
The function of oracle database management system is very important in the computer network. The optimization technology of this database can protect many aspects, such as system security, service running, information security and so on. In this paper, the focus on several aspects of the onclc database optimization problems described, these areas include the central processing unit, disk, memory, and the application of SQL statements, I hope that the discussion on the application of large databases Of the staff to provide some help.
Oracle database; performance optimization technology; management system; computer network
TP311.13
A
1009-6434(2016)12-0145-02
洪英琦(1990—),男,漢族,籍貫:黑龍江省綏化市,學(xué)歷研究生,研究方向為Oracle相關(guān).