實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0048]圖1為本發(fā)明實施例所提供的ORACLE數(shù)據(jù)庫優(yōu)化配置的方法的流程圖;
[0049]圖2為本發(fā)明實施例所提供的ORACLE數(shù)據(jù)庫優(yōu)化配置的系統(tǒng)的結構框圖。
【具體實施方式】
[0050]本發(fā)明的核心是提供一種ORACLE數(shù)據(jù)庫優(yōu)化配置的方法,該方法能夠大大降低ORACLE數(shù)據(jù)庫配置工作量,降低配置難度,為得到配置優(yōu)化組合提供科學的方法。
[0051]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0052]請參考圖1,圖1為本發(fā)明實施例所提供的ORACLE數(shù)據(jù)庫優(yōu)化配置的方法的流程圖;該方法可以包括:
[0053]步驟SlOO、建立配置庫類別,根據(jù)所述配置庫類別分別對應建立配置參數(shù),并為所述配置參數(shù)設置取值列表,其中,所述配置參數(shù)的數(shù)據(jù)類型為數(shù)值型,布爾型或字符串型;所述數(shù)值型的取值列表根據(jù)ORACLE數(shù)據(jù)庫服務器進行設置,所述布爾型的取值列表為TRUE或FALSE,所述字符串型的取值列表為字符串選項列表;
[0054]其中,配置庫是按類別組織的配置參數(shù)庫,包括全部的ORACLE數(shù)據(jù)庫配置參數(shù),對于數(shù)值型參數(shù)按照數(shù)據(jù)庫服務器的配置劃分為小、中、大三檔,對于布爾型分為TRUE或FALSE,對于字符串類型按枚舉劃分。
[0055]建立配置庫類別,分為SGA內存配置、PGA內存配置、磁盤I/O配置、CPU配置、Sess1n配置、安全與審計配置等類別。具體設置的類別需要根據(jù)用戶的具體要求進行體現(xiàn)。
[0056]為每一個配置庫類別建立配置參數(shù),每個配置參數(shù)是數(shù)值型、布爾型、字符串型之 ,
[0057]為每個配置項建立取值列表,數(shù)值型配置參數(shù)按照數(shù)據(jù)庫服務器的配置劃分為小、中、大三個數(shù)值,對于布爾型分為TRUE或FALSE,對于字符串類型設定字符串選擇項;
[0058]其中,優(yōu)選的,還需要為配置庫設置配置庫的管理功能。例如可以管理配置庫類另IJ,提供配置庫類別增加、修改、刪除、查詢功能;還可以管理配置參數(shù),提供配置參數(shù)增加、修改、刪除、查詢功能。
[0059]步驟SllO、利用所述配置庫獲取配置參數(shù),并根據(jù)基準測試案例庫中選擇運行的基準測試案例,其中,所述基準測試案例庫為每類工作負載類型建立基準測試案例表;
[0060]其中,基準測試案例庫定義了檢驗ORACLE數(shù)據(jù)庫的工作負載的測試案例,具有通用性?;鶞蕼y試案例庫為測試案例執(zhí)行引擎提供輸入?;鶞蕼y試案例庫定義了詳細的SQL語句,從創(chuàng)建數(shù)據(jù)庫表,到建立索引,生成數(shù)據(jù),以及測試程序。工作負載分為交易型、查詢型和統(tǒng)計分析型三類。
[0061]其中,可選的,所述基準測試案例庫的生成過程包括:
[0062]建立工作負載類型;
[0063]為每類工作負載類型建立基準測試案例表,設置所述基準測試案數(shù)據(jù)生成算法,設置所述基準測試案例的邏輯表達,設置測試結果計算公式。
[0064]其中具體過程可以是:
[0065]I)建立工作負載類型,分為交易型、查詢型和統(tǒng)計分析型三類;
[0066]2)建立基準測試案例格式,包括表、索引、數(shù)據(jù)生成算法、測試SQL、結果計算公式;
[0067]3)建立表結構,一個基準測試案例包括多張表,為每個表建立表結構;
[0068]4)建立生成數(shù)據(jù)生成算法,數(shù)據(jù)量以GB或者條數(shù)為單位,生成數(shù)據(jù)需要考慮表之間的依賴關系,沒有依賴關系的采用隨機數(shù)為取值;
[0069]其中,優(yōu)選的,為所有基準測試案例表均建立索引,即為基準測試案例的每張表建立需要的索引,消除性能瓶頸;提高數(shù)據(jù)運行效率。
[0070]5)建立測試SQL,基準測試案例的處理邏輯表達為SQL
[0071]6)建立測試結果中的指標計算公式,指標可以包括響應時間、TPS、成功率等;
[0072]其中,基準測試案例庫可以提高管理功能,用來管理基準測試案例庫,例如,提供修改和刪除管理基準測試案例功能。
[0073]步驟sl20、根據(jù)所述規(guī)則庫設置參數(shù)值,并按照排列組合方法,形成預定配置參數(shù)組合,其中,所述規(guī)則庫設置配置參數(shù)與依賴配置參數(shù)的關聯(lián)關系;
[0074]其中,配置加載執(zhí)行模塊接收配置庫的參數(shù)輸入,并利用規(guī)則庫,對配置參數(shù)進行排列組合,某些參數(shù)需要重啟ORACLE數(shù)據(jù)庫,某些參數(shù)只需用動態(tài)變更數(shù)據(jù)庫配置,進行相應的數(shù)據(jù)庫啟動、停止和參數(shù)動態(tài)調整操作。
[0075]其中,可選的,所述根據(jù)所述規(guī)則庫設置參數(shù)值,并按照排列組合方法,形成預定配置參數(shù)組合包括:
[0076]查詢配置庫,獲取配置庫的配置參數(shù)列表;
[0077]利用規(guī)則庫的規(guī)則設置所述配置參數(shù)列表的值,并按照排列組合方法進行排列組合,形成一組配置參數(shù)組合。
[0078]其中,規(guī)則庫定義了配置參數(shù)之間的關系,將關聯(lián)的參數(shù)聚合成為族,定義了參數(shù)大小與性能高低之間的關系。還定義了依賴關系,例如設置參數(shù)A,就必須同時設置參數(shù)B。
[0079]其中,可選的,所述規(guī)則庫的生成過程包括:
[0080]建立規(guī)則庫格式;
[0081]設置配置參數(shù)與依賴配置參數(shù)的關聯(lián)關系,其中,所述關聯(lián)關系包括:正向關聯(lián)關系,反向關聯(lián)關系,順序關聯(lián)關系和等式關聯(lián)關系;
[0082]設置配置參數(shù)與依賴配置參數(shù)的關聯(lián)關系的作用強度。
[0083]其中,規(guī)則庫生成算法可以包括:
[0084]I)建立規(guī)則庫格式,包括配置參數(shù),依賴配置參數(shù),依賴關系,作用強度。依賴關系定義了配置參數(shù)與依賴配置參數(shù)之間的關系,分為正向關聯(lián)關系、反向關聯(lián)關系、順序依賴關系。作用強度是該依賴關系的可行度,以百分比來表示,數(shù)值越高可信度越高。
[0085]2)建立正向關聯(lián)關系:建立配置參數(shù)與依賴配置參數(shù)之間的正向關聯(lián)關系,以及設定作用強度值。正向關聯(lián)關系是指配置參數(shù)與依賴配置參數(shù)對數(shù)據(jù)庫性能的影響是同時增長或同時降低。
[0086]2)建立反向關聯(lián)關系:建立配置參數(shù)與依賴配置參數(shù)之間的反向關聯(lián)關系,以及設定作用強度值。反向關聯(lián)關系是指配置參數(shù)與依賴配置參數(shù)對數(shù)據(jù)庫性能的影響是相反的,配置參數(shù)增長則依賴配置參數(shù)降低,或者配置參數(shù)降低則依賴配置參數(shù)增長。
[0087]3)建立順序依賴關系:建立配置參數(shù)與依賴配置參數(shù)之間的順序依賴關系,以及設定作用強度值。順序依賴關系是指如果設置配置參數(shù),則必須設置依賴配置參數(shù)。
[0088]4)建立等式關系:建立配置參數(shù)與依賴配置參數(shù)之間的等式關系;
[0089]其中,規(guī)則庫還提供管理規(guī)則庫的功能,例如提供規(guī)則庫增加、修改、刪除和查詢功能。其中,對規(guī)則庫的規(guī)則的及時更新,規(guī)則更加準確,則優(yōu)化后得到的配置參數(shù)更能反映用戶的需求。
[0090]步驟sl30、根據(jù)每種預定配置參數(shù)組合修改ORACLE數(shù)據(jù)庫啟動配置文件,并運行所述基準測試