天津廣播電視網(wǎng)絡(luò)有限公司 郭寶印
?
天津廣電網(wǎng)絡(luò)Oracle數(shù)據(jù)庫的性能調(diào)整與優(yōu)化方法探析
天津廣播電視網(wǎng)絡(luò)有限公司郭寶印
Oracle數(shù)據(jù)庫在目前廣電網(wǎng)絡(luò)中應(yīng)用廣泛,其功能強、使用方便、可移植性和可靠性好、運行高效,并且對于各種運行環(huán)境具有良好的適應(yīng)性。天津廣電網(wǎng)絡(luò)Oracle數(shù)據(jù)庫在具體運行使用中還存在一些缺陷,為了充分發(fā)揮Oracle數(shù)據(jù)庫強大的應(yīng)用功能,應(yīng)采取有效措施和合理方法,積極調(diào)整Oracle數(shù)據(jù)庫的使用性能,從多方面進行優(yōu)化和改進。本文簡要介紹了Oracle數(shù)據(jù)庫,分析了Oracle數(shù)據(jù)庫性能評價指標,闡述了天津廣電網(wǎng)絡(luò)Oracle數(shù)據(jù)庫性能調(diào)整和優(yōu)化方法。
天津廣電網(wǎng)絡(luò);Oracle數(shù)據(jù)庫;性能調(diào)整;優(yōu)化方法
數(shù)據(jù)庫在計算機網(wǎng)絡(luò)系統(tǒng)中發(fā)揮著不可替代的重要作用,其主要用于各種信息的存儲和管理,在當前的信息時代,廣電網(wǎng)絡(luò)中的各種數(shù)據(jù)信息急劇膨脹,在日常使用過程中,往往會發(fā)現(xiàn)Oracle數(shù)據(jù)庫性能逐漸惡化,用戶在操作使用Oracle數(shù)據(jù)庫時等待的時間越來越長,系統(tǒng)響應(yīng)速度越來越慢,對于這種情況,應(yīng)仔細分析Oracle數(shù)據(jù)庫性能惡化原因,有針對地進行調(diào)整和優(yōu)化,積極改善Oracle數(shù)據(jù)庫運行性能。
Oracle數(shù)據(jù)庫技術(shù)發(fā)展起步較早,其應(yīng)用功能非常強大,最初是一種關(guān)系型數(shù)據(jù)庫結(jié)構(gòu),利用信息庫構(gòu)造合理反映不同數(shù)據(jù)之間的聯(lián)系。隨著計算機科學(xué)技術(shù)的不斷發(fā)展,關(guān)系數(shù)據(jù)庫和計算機進行有效結(jié)合,這使得Oracle數(shù)據(jù)庫的應(yīng)用功能越來越豐富,還可以為企業(yè)網(wǎng)絡(luò)運行提供產(chǎn)業(yè)化、高可靠性的技術(shù)支持,高效處理各種關(guān)系數(shù)據(jù)。Oracle數(shù)據(jù)庫在實際應(yīng)用中,不僅支持大數(shù)據(jù)、多用戶的數(shù)據(jù)處理,而且其安全性和完整性較好,硬件運行環(huán)境相對獨立,最重要的是Oracle數(shù)據(jù)庫嚴格遵循數(shù)據(jù)存取語言、網(wǎng)絡(luò)通信協(xié)議等標準,還具有可移植性、可兼容性、可連接性的特點,可用于分布式數(shù)據(jù)處理,滿足不同操作系統(tǒng)和不同類型計算機的運行需求。
1、內(nèi)存使用率
內(nèi)存使用率主要包括數(shù)據(jù)庫運行時內(nèi)存、永久性內(nèi)存和共享內(nèi)存的使用率,通過調(diào)整內(nèi)存使用率,可減少數(shù)據(jù)庫運行延遲時間。
2、數(shù)據(jù)庫命中率
數(shù)據(jù)庫命中率主要包括共享池命中率和緩沖區(qū)命中率,共享池命中率對于是否重新解析SQL語句有著決定性影響;緩沖區(qū)命中率主要決定數(shù)據(jù)庫內(nèi)存是否可以滿足用戶數(shù)據(jù)需求。一般情況,正常的數(shù)據(jù)庫命中率約90%,若Oracle數(shù)據(jù)庫命中率低于90%,應(yīng)及時進行調(diào)整和優(yōu)化。
3、響應(yīng)時間
響應(yīng)時間是評價Oracle數(shù)據(jù)庫性能的重要指標,其對于數(shù)據(jù)庫使用性能有著最直觀的影響,通過減少用戶等待時間和系統(tǒng)服務(wù)時間,可有效提高Oracle數(shù)據(jù)庫響應(yīng)時間,然而在實際應(yīng)用中這兩者是相互矛盾的,所以O(shè)racle數(shù)據(jù)庫響應(yīng)時間優(yōu)化應(yīng)結(jié)合實際情況將,調(diào)整主要方面。
4、系統(tǒng)吞吐量
Oracle數(shù)據(jù)庫系統(tǒng)吞吐量=執(zhí)行SQL語句的數(shù)量/時間,所以通過提高單個SQL語句執(zhí)行效率即可提高數(shù)據(jù)庫吞吐量。
1、創(chuàng)建適當索引
通過創(chuàng)建適當索引可以有效優(yōu)化Oracle數(shù)據(jù)庫的查詢性能,若在訪問Oracle數(shù)據(jù)庫時利用索引,可避免數(shù)據(jù)庫全表掃描。在創(chuàng)建數(shù)據(jù)庫索引時,應(yīng)注意以下問題:其一,對于經(jīng)常檢索的大表,創(chuàng)建的索引數(shù)量不能超過總表數(shù)據(jù)行的15%,對于小型表不需要創(chuàng)建索引;其二,對于查詢過程中有可能會接觸空值或者表中包含很多空值的列,不宜創(chuàng)建索引;其三,對于大型字段,不宜創(chuàng)建索引;其四,有效控制索引數(shù)量,若數(shù)據(jù)庫中包含很多不用的索引,會影響其正常查詢速率;其五,和單列索引相比,最好創(chuàng)建復(fù)合索引,提高數(shù)據(jù)庫運行效率;其六,對于經(jīng)常連接的表,使用簇,對于多表連接字段,創(chuàng)建索引;其七,在不同表空間中創(chuàng)新索引和表,嚴禁在system表空間中存放數(shù)據(jù)對象,使索引表空間和數(shù)據(jù)表空間位于不同磁盤。在應(yīng)用Oracle數(shù)據(jù)庫時,應(yīng)謹慎創(chuàng)建索引,有效提高數(shù)據(jù)庫查詢語句性能。
2、優(yōu)化SQL語句
基于正確的Oracle數(shù)據(jù)庫應(yīng)用功能,優(yōu)化SQL語句,利用優(yōu)化器識別SQL語句,通過索引適當減少掃描數(shù)據(jù)表過程中的I/O數(shù)量,避免出現(xiàn)表搜索現(xiàn)象。SQL語句優(yōu)化目的在于利用性能優(yōu)異、目的相同的SQL語句,簡化數(shù)據(jù)查找路徑,保持I/O掃描和處理器運行時間之間的平衡。SQL語句優(yōu)化應(yīng)堅持以下原則:第一,正確使用OR、EXIST、IN、NULL,創(chuàng)建適當索引;第二,正確使用表別名、WHERE子句、UNION和UNION ALL;第三,按照數(shù)據(jù)表中的行數(shù)據(jù)順序正確存取,利用臨時表,加快數(shù)據(jù)庫查詢速度;第四,避免使用相關(guān)子查詢,通過綁定變量,優(yōu)化聯(lián)合查詢次序。
3、使用存儲過程
Oracle數(shù)據(jù)庫存儲是一種可選控制流語句和SQL語句的預(yù)編譯集合,利用名稱存儲實現(xiàn)數(shù)據(jù)表單元處理,存儲在PL/SQL端Server集合中。對于計算機應(yīng)用程序函數(shù)和數(shù)據(jù)過程,主要在Server中存儲SQL命令,所以數(shù)據(jù)庫存儲過程中,不需要再利用大量的SQL語句來執(zhí)行相關(guān)服務(wù)器操作,通過計算機網(wǎng)絡(luò)系統(tǒng)簡單調(diào)用輸出結(jié)果和過程名字即可,從而有效減少網(wǎng)絡(luò)I/O占有率。
4、優(yōu)化數(shù)據(jù)庫參數(shù)
Oracle數(shù)據(jù)庫主要包括四個關(guān)鍵的參數(shù):SHARRED_ POOL_ SIZE、PGA_ AGGREGATE _ TARGET、DB_ CASHE_ SIZE和SGA_ MAX_ SIZE,根據(jù)天津廣電網(wǎng)絡(luò)中Oracle數(shù)據(jù)庫的具體應(yīng)用,優(yōu)化這個四個參數(shù)的設(shè)置,改善數(shù)據(jù)庫性能。
5、優(yōu)化數(shù)據(jù)庫內(nèi)存
Oracle數(shù)據(jù)庫內(nèi)存對于整個數(shù)據(jù)庫的使用性能有著直接影響,數(shù)據(jù)庫內(nèi)存優(yōu)化主要是對內(nèi)存分配進行合理調(diào)整,從而獲得充足的物理內(nèi)存。并且Oracle數(shù)據(jù)庫內(nèi)存配置,應(yīng)最大程度地減少內(nèi)存交換和分頁,滿足全局范圍內(nèi)系統(tǒng)內(nèi)存需求。同時,Oracle數(shù)據(jù)庫分頁操作時,在硬盤上暫時存儲沒有的信息,為需要系統(tǒng)內(nèi)存空間的應(yīng)用程序調(diào)整出內(nèi)存。若需要經(jīng)常執(zhí)行數(shù)據(jù)庫分頁,則會增加數(shù)據(jù)庫應(yīng)用程序的執(zhí)行時間,影響系統(tǒng)的響應(yīng)速度,所以在優(yōu)化Oracle數(shù)據(jù)庫內(nèi)存時,可以利用程序命令實時監(jiān)控內(nèi)存分頁執(zhí)行,有效避免沒有必要的應(yīng)用程序或者系統(tǒng)進程,在條件允許的情況下,擴大內(nèi)存空間,有效提升Oracle數(shù)據(jù)庫的運行性能。
近年來,計算機網(wǎng)絡(luò)技術(shù)快速發(fā)展,Oracle數(shù)據(jù)庫應(yīng)用也取得了顯著的成就,并且其更新?lián)Q代速度不斷加快,對于Oracle數(shù)據(jù)庫性能持續(xù)惡化的情況,應(yīng)合理優(yōu)化和配置數(shù)據(jù)庫的應(yīng)用程序、參數(shù)設(shè)備和內(nèi)存環(huán)境,從多方面采取合理方法優(yōu)化和調(diào)整數(shù)據(jù)庫性能,從而延長Oracle數(shù)據(jù)庫的應(yīng)用周期。
[1]王雷,曾蘊波,王璐.Oracle數(shù)據(jù)庫的性能調(diào)整與優(yōu)化方法探析[J].航天器工程,2012,06:129-133.
[2]江李兵,江川寧.Oracle數(shù)據(jù)庫的性能調(diào)整與優(yōu)化方法探析[J].計算機光盤軟件與應(yīng)用,2014,10:140+142.
[3]劉暢.Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析[J].科技視界,2016,01: 183+240.
[4]韋安云.Oracle數(shù)據(jù)庫的性能調(diào)整與優(yōu)化方法探析[J].電腦知識與技術(shù),2015,21:8-9.
[5]黃雁.基于Oracle數(shù)據(jù)庫的性能調(diào)整及優(yōu)化技術(shù)研究[J].電腦編程技巧與維護,2015,09:66+88.
[6]任艷.Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化技術(shù)探討[J].中國新通信,2013,02:3-4.
郭寶?。?979—),男,天津人,碩士,工程師(中級),研究方向:數(shù)據(jù)庫、網(wǎng)絡(luò)安全、軟件業(yè)務(wù)架構(gòu)和開發(fā)。