專(zhuān)利名稱(chēng):用于調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及數(shù)據(jù)庫(kù)系統(tǒng),并且更具體地涉及用于管理數(shù)據(jù) 庫(kù)系統(tǒng)的工具。
背景技術(shù):
已經(jīng)開(kāi)發(fā)數(shù)據(jù)庫(kù)系統(tǒng)用來(lái)使得計(jì)算機(jī)以允許用戶搜索和檢索數(shù) 據(jù)庫(kù)中的具體信息的方式存儲(chǔ)大量信息。例如,保險(xiǎn)公司可以具有 包括所有它的保單持有人以及它們的當(dāng)前賬戶信息的數(shù)據(jù)庫(kù),該信 息包括支付歷史、保費(fèi)額、保單號(hào)、保單類(lèi)型、免責(zé)等。數(shù)據(jù)庫(kù)系 統(tǒng)允許保險(xiǎn)公司從它的數(shù)據(jù)庫(kù)中數(shù)以千計(jì)并且可能數(shù)以百萬(wàn)計(jì)的保 單持有人之中為單個(gè)保單持有人檢索賬戶信息。
從數(shù)據(jù)庫(kù)中檢索信息通常使用查詢(xún)來(lái)完成。查詢(xún)通常指定了適 用于數(shù)據(jù)庫(kù)中 一 列或者多列的條件,并且可以指定對(duì)多列的相對(duì)復(fù) 雜的邏輯操作。在數(shù)據(jù)庫(kù)中搜索滿足查詢(xún)的記錄,并且返回滿足查 詢(xún)的那些結(jié)果作為查詢(xún)結(jié)果。普遍的查詢(xún)語(yǔ)言是已經(jīng)在數(shù)據(jù)庫(kù)界贏
得廣泛認(rèn)可的結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)。
數(shù)據(jù)庫(kù)系統(tǒng)中的調(diào)試性能問(wèn)題常常具有難度。已經(jīng)開(kāi)發(fā)數(shù)據(jù)庫(kù) 性能監(jiān)視器,用來(lái)在數(shù)據(jù)庫(kù)系統(tǒng)中產(chǎn)生對(duì)事件的線性時(shí)間跟蹤,以 幫助調(diào)試數(shù)據(jù)庫(kù)問(wèn)題。然而,已知的數(shù)據(jù)庫(kù)監(jiān)視器收集如此之多的 信息以至于收集事件線性時(shí)間跟蹤的開(kāi)銷(xiāo)可能明顯影響數(shù)據(jù)庫(kù)'l"生 能。結(jié)果,直至已經(jīng)檢測(cè)到問(wèn)題才開(kāi)啟數(shù)據(jù)庫(kù)性能監(jiān)視器。這一方 式的問(wèn)題在于許多數(shù)據(jù)庫(kù)問(wèn)題在本質(zhì)上可能是瞬態(tài)的,而嘗試重建 造成數(shù)據(jù)庫(kù)問(wèn)題的條件可能是困難或者不可能的。沒(méi)有一種用以根 據(jù)數(shù)據(jù)庫(kù)系統(tǒng)已經(jīng)收集的信息來(lái)調(diào)試已經(jīng)出現(xiàn)的數(shù)據(jù)庫(kù)問(wèn)題的方 式,使用性能監(jiān)視器來(lái)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的已知方法將繼續(xù)成為有效
調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的阻礙。
發(fā)明內(nèi)容
一種數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化器,包括訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu),該訪問(wèn)計(jì)劃 存儲(chǔ)機(jī)構(gòu)在訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)與查詢(xún)語(yǔ)句相對(duì)應(yīng)的執(zhí)行細(xì) 節(jié)。通過(guò)將執(zhí)行細(xì)節(jié)隨查詢(xún)語(yǔ)句 一起存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存中, 在需要執(zhí)行細(xì)節(jié)來(lái)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題時(shí),甚至在問(wèn)題出現(xiàn)之后,執(zhí)行 細(xì)節(jié)是可用的??梢栽谑聦?shí)之后挖掘和分析訪問(wèn)計(jì)劃高速緩存中存 儲(chǔ)的執(zhí)行細(xì)節(jié),產(chǎn)生一種用于調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的強(qiáng)大工具。執(zhí)行細(xì) 節(jié)的快照也可以由用戶創(chuàng)建。此外,用戶可以設(shè)置自治快照和比較, 使得可以將兩個(gè)快照之間數(shù)據(jù)庫(kù)性能的降級(jí)警告用戶。
前述以及其他特征和優(yōu)點(diǎn)將如附圖中所示從以下更具體的描述 中變得明顯。
將結(jié)合附圖來(lái)描述本公開(kāi),其中相似的標(biāo)號(hào)指代相似的單元 圖1是包括訪問(wèn)計(jì)劃高速緩存的裝置的框圖,該高速緩存包括 執(zhí)行細(xì)節(jié)、用于分析執(zhí)行細(xì)節(jié)的性能分析機(jī)構(gòu)、以及用于自動(dòng)創(chuàng)建
和比較執(zhí)行細(xì)節(jié)的快照的自動(dòng)快照機(jī)構(gòu);
圖2是示出了包括查詢(xún)語(yǔ)句以及對(duì)應(yīng)執(zhí)行細(xì)節(jié)的圖1訪問(wèn)計(jì)劃 高速緩存125中的條目的框圖3是示出了可以在圖1和圖2的訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)的 示例執(zhí)行細(xì)節(jié)的框圖4是用于調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的現(xiàn)有技術(shù)方法的流程圖5是用于通過(guò)分析訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)的執(zhí)行細(xì)節(jié)來(lái)調(diào) 試數(shù)據(jù)庫(kù)問(wèn)題的方法的流程圖6是用于顯示執(zhí)行計(jì)劃高速緩存中數(shù)據(jù)的子集以及用于為選 擇和過(guò)濾數(shù)據(jù)而提供GUI控件的方法的流程圖7是包括執(zhí)行細(xì)節(jié)的訪問(wèn)計(jì)劃高速緩存中的條目以及用于選
擇和過(guò)濾數(shù)據(jù)的GUI控件的示例顯示;
圖8是訪問(wèn)計(jì)劃高速緩存中條目的示例顯示,該顯示示出了 GUI 控件如何選擇和過(guò)濾訪問(wèn)計(jì)劃高速緩存中的數(shù)據(jù);
圖9是訪問(wèn)計(jì)劃高速緩存的屬性的示例顯示;
圖10是用于基于用戶限定的快照標(biāo)準(zhǔn)自治地生成訪問(wèn)計(jì)劃高速 緩存的快照的方法的流程圖11是示出了用戶如何能夠創(chuàng)建訪問(wèn)計(jì)劃高速緩存的新快照的 示例顯示;
圖12是允許限定計(jì)劃高速緩存快照的示例顯示;以及 圖13是用于自治地收集和比較快照并且通知用戶超過(guò)指定閾值 的改變的方法的流程圖。
具體實(shí)施例方式
訪問(wèn)計(jì)劃高速緩存允許在高速緩存中將與查詢(xún)語(yǔ)句相對(duì)應(yīng)的執(zhí) 行細(xì)節(jié)與查詢(xún)語(yǔ)句一起存儲(chǔ)。由于執(zhí)行細(xì)節(jié)對(duì)應(yīng)于查詢(xún)語(yǔ)句,所以 執(zhí)行細(xì)節(jié)排除將通常由數(shù)據(jù)庫(kù)性能監(jiān)視器收集的與查詢(xún)無(wú)關(guān)的信 息。數(shù)據(jù)庫(kù)已經(jīng)收集執(zhí)行細(xì)節(jié),因而可以在對(duì)系統(tǒng)性能影響很小的 情況下完成在訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)執(zhí)行細(xì)節(jié)連同它的對(duì)應(yīng)查詢(xún) 語(yǔ)句。通過(guò)在訪問(wèn)計(jì)劃高速緩存中連續(xù)地收集執(zhí)行細(xì)節(jié),可以通過(guò) 挖掘和分析已經(jīng)存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存中的執(zhí)行細(xì)節(jié)來(lái)調(diào)試出現(xiàn) 的數(shù)據(jù)庫(kù)問(wèn)題,甚至瞬態(tài)出現(xiàn)的數(shù)據(jù)庫(kù)問(wèn)題。此外,可以如用戶指 定的那樣獲取快照,這包括自治地獲取快照和指定的時(shí)間或者間隔、 以及自治地比較快照。如果兩個(gè)比較的快照的差異大于指定閾值, 則可以向用戶發(fā)送通知。以這一方式,系統(tǒng)自治地收集在調(diào)試數(shù)據(jù) 庫(kù)問(wèn)題時(shí)有用的信息,因而當(dāng)檢測(cè)到數(shù)據(jù)庫(kù)問(wèn)題時(shí)可以容易地分析 此信息。
參照?qǐng)D1,計(jì)算機(jī)系統(tǒng)100是如下裝置的一種適當(dāng)實(shí)施,該裝置 在訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)與查詢(xún)相對(duì)應(yīng)的執(zhí)行細(xì)節(jié),允許在檢測(cè) 到數(shù)據(jù)庫(kù)問(wèn)題時(shí)分析執(zhí)行細(xì)節(jié),以及允許自治地收集和比較訪問(wèn)計(jì)劃高速緩存的快照,并且如果兩個(gè)快照的差異大于某一指定閾值則
警告用戶。計(jì)算機(jī)系統(tǒng)100是IBM eServer System i計(jì)算機(jī)系統(tǒng)。然 而,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到這里的公開(kāi)同樣適用于任何計(jì)算機(jī)系 統(tǒng),無(wú)論該計(jì)算機(jī)系統(tǒng)是復(fù)雜的多用戶計(jì)算裝置、單個(gè)用戶工作站 還是嵌入式控制系統(tǒng)。如圖1中所示,計(jì)算機(jī)系統(tǒng)100包括一個(gè)或 者多個(gè)處理器110、主存儲(chǔ)器120、大容量存儲(chǔ)接口 130、顯示器接 口 140和網(wǎng)絡(luò)接口 150。這些系統(tǒng)部件通過(guò)使用系統(tǒng)總線160來(lái)互連。 大容量存儲(chǔ)接口 130用來(lái)將大容量存儲(chǔ)設(shè)備諸如直接訪問(wèn)存儲(chǔ)設(shè)備 155連接到計(jì)算機(jī)系統(tǒng)100。直接訪問(wèn)存儲(chǔ)設(shè)備155的一個(gè)具體類(lèi)型 是可以將數(shù)據(jù)存儲(chǔ)到CD-RW 195以及從CD-RW 195讀取數(shù)據(jù)的可 讀寫(xiě)CD-RW驅(qū)動(dòng)器。
主存儲(chǔ)器120優(yōu)選地包含數(shù)據(jù)121、操作系統(tǒng)122、數(shù)據(jù)庫(kù)查詢(xún) 優(yōu)化器123、訪問(wèn)計(jì)劃高速緩存125、性能分析機(jī)構(gòu)126以及存儲(chǔ)的 快照129。數(shù)據(jù)121代表用作為輸入到計(jì)算機(jī)系統(tǒng)100中任何程序或 者從任何程序輸出的任何數(shù)據(jù)。操作系統(tǒng)122是業(yè)內(nèi)稱(chēng)為i5/0S的多 任務(wù)操作系統(tǒng);然而,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到這一公開(kāi)的實(shí)質(zhì)和 范圍不限于任一個(gè)操作系統(tǒng)。數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化器123包括將條目存 儲(chǔ)到訪問(wèn)計(jì)劃高速緩存125中的訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu)124。訪問(wèn)計(jì)劃高 速緩存125優(yōu)選地包括每個(gè)條目中的執(zhí)行細(xì)節(jié),如圖2中所示以及 下文具體討論的那樣。訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu)124將數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化器 123已經(jīng)擁有的執(zhí)行細(xì)節(jié)存儲(chǔ)在訪問(wèn)計(jì)劃高速緩存125內(nèi)的條目中。 通過(guò)在連續(xù)的基礎(chǔ)上在訪問(wèn)計(jì)劃高速緩存125中存儲(chǔ)執(zhí)行細(xì)節(jié),執(zhí) 行細(xì)節(jié)可用以調(diào)試數(shù)據(jù)庫(kù)問(wèn)題,甚至在數(shù)據(jù)庫(kù)問(wèn)題出現(xiàn)之后。
性能分析機(jī)構(gòu)126包括分析訪問(wèn)計(jì)劃高速緩存125中存儲(chǔ)的數(shù) 據(jù)的訪問(wèn)計(jì)劃分析機(jī)構(gòu)127。訪問(wèn)計(jì)劃分析機(jī)構(gòu)127優(yōu)選地包括圖形 用戶界面,該界面顯示訪問(wèn)計(jì)劃高速緩存條目的子集、并允許用戶 為選擇或者過(guò)濾訪問(wèn)計(jì)劃高速緩存中的數(shù)據(jù)指定標(biāo)準(zhǔn)。性能分析機(jī) 構(gòu)126也包括自治快照機(jī)構(gòu)128,該機(jī)構(gòu)允許用戶獲取訪問(wèn)計(jì)劃高速 緩存的快照、安排將來(lái)的快照以及安排定期快照。自治快照^L構(gòu)128
也可以包括用于自治地比較兩個(gè)快照的差異、并且如果差異超過(guò)某 一限定閾值則警告用戶的機(jī)構(gòu)??煺?29是可以由用戶人工產(chǎn)生或
者可以由自治快照機(jī)構(gòu)128自治地產(chǎn)生的快照的集合??煺?29優(yōu) 選地是以與來(lái)自數(shù)據(jù)庫(kù)性能監(jiān)視器的輸出相同的格式,因而用來(lái)顯 示和分析來(lái)自數(shù)據(jù)庫(kù)性能監(jiān)視器的輸出的相同工具可以用來(lái)顯示和 分析快照。這里所用的術(shù)語(yǔ)"快照"是指在給定的時(shí)間瞬間對(duì)訪問(wèn)計(jì) 劃高速緩存中部分或者所有信息的持久表示。
計(jì)算機(jī)系統(tǒng)100利用公知的虛擬尋址機(jī)制,這些機(jī)制允許計(jì)算 機(jī)系統(tǒng)100的程序表現(xiàn)得就好像它們只是訪問(wèn)大型單個(gè)存儲(chǔ)實(shí)體而 不是訪問(wèn)多個(gè)較小存儲(chǔ)實(shí)體例如主存儲(chǔ)器120和DASD設(shè)備155。 因此,盡管數(shù)據(jù)121、操作系統(tǒng)122、數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化器123、訪問(wèn) 計(jì)劃高速緩存125、性能分析機(jī)構(gòu)126和快照129表示為駐留于主存 儲(chǔ)器120中,但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到這些項(xiàng)目不一定同時(shí)全 部完全地包含于主存儲(chǔ)器120中。也應(yīng)當(dāng)注意術(shù)語(yǔ)"存儲(chǔ)器"在這里 一般地指代計(jì)算機(jī)系統(tǒng)100的整個(gè)虛擬存儲(chǔ)器、以及可以包括耦合 到計(jì)算機(jī)系統(tǒng)100的其他計(jì)算機(jī)系統(tǒng)的虛擬存儲(chǔ)器。
處理器110可以由一個(gè)或者多個(gè)微處理器和/或集成電路構(gòu)成。 處理器110執(zhí)行主存儲(chǔ)器120中存儲(chǔ)的程序指令。主存儲(chǔ)器120存 儲(chǔ)處理器110可以訪問(wèn)的程序和數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)100啟動(dòng)時(shí), 處理器110初始地執(zhí)行構(gòu)成操作系統(tǒng)122的程序指令。
雖然計(jì)算機(jī)系統(tǒng)10 0表示為僅包含單個(gè)處理器和單個(gè)系統(tǒng)總線, 但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到可以使用具有多個(gè)處理器和/或多個(gè)總
線的計(jì)算機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)項(xiàng)目的圖形比較。此外,所用接口優(yōu) 選地每個(gè)都包括用來(lái)從處理器110卸去計(jì)算密集處理的分離式完全 編程微處理器。然而,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到也可以使用1/0適配 器來(lái)執(zhí)行這些功能。
顯示器接口 140用來(lái)將一個(gè)或者多個(gè)顯示器165直接地連接到 計(jì)算機(jī)系統(tǒng)100??梢允欠侵悄芙K端(即啞終端)或者完全可編程工 作站的這些顯示器165用來(lái)允許系統(tǒng)管理員和用戶與計(jì)算機(jī)系統(tǒng)
100通信。然而,注意到盡管提供顯示器接口 140用來(lái)支持與一個(gè)或 者多個(gè)顯示器165通信,但是計(jì)算機(jī)系統(tǒng)IOO不一定需要顯示器165, 因?yàn)榕c用戶和其他處理的全部所需交互可以經(jīng)由網(wǎng)絡(luò)接口 150發(fā)生。 網(wǎng)絡(luò)"t妾口 150用來(lái)跨經(jīng)網(wǎng)絡(luò)170將其他計(jì)算^L系統(tǒng)和/或工作站 (例如圖1中的175)連4妄到計(jì)算才幾系統(tǒng)100。網(wǎng)絡(luò)接口 150和網(wǎng)絡(luò) 170廣義地代表用以互連計(jì)算機(jī)系統(tǒng)的任何適當(dāng)方式,無(wú)論網(wǎng)絡(luò)170 是否包括現(xiàn)有模擬和/或數(shù)字技術(shù)或者借助將來(lái)的某一聯(lián)網(wǎng)機(jī)制。此 外,許多不同網(wǎng)絡(luò)協(xié)議能夠用來(lái)實(shí)施網(wǎng)絡(luò)。這些協(xié)議是允許計(jì)算機(jī) 跨經(jīng)網(wǎng)絡(luò)170進(jìn)行通信的專(zhuān)用計(jì)算機(jī)程序。TCP/IP (傳輸控制協(xié)議/ 網(wǎng)際協(xié)議)是適當(dāng)網(wǎng)絡(luò)協(xié)議的例子。
就這一點(diǎn)而言,重要的是注意到,盡管以上描述是在完全功能 計(jì)算機(jī)系統(tǒng)的背景下,但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,進(jìn)入分組過(guò)
濾機(jī)制可以用各種形式分配作為程序產(chǎn)品并且要求保護(hù)的本發(fā)明延 及用來(lái)實(shí)際實(shí)現(xiàn)該分配的所有適當(dāng)類(lèi)型的計(jì)算機(jī)可讀介質(zhì)。適當(dāng)計(jì) 算機(jī)可讀介質(zhì)的例子包括如軟盤(pán)和CD-RW (例如圖1的195)的 可記錄介質(zhì),以及如數(shù)字和模擬通信鏈路的傳輸介質(zhì)。
實(shí)施例在這里也可以作為與客戶7〉司、非盈利組織、政府實(shí)體、 內(nèi)部組織結(jié)構(gòu)等的服務(wù)約定的 一 部分。這些實(shí)施例可以包括配置計(jì) 算機(jī)系統(tǒng)用以執(zhí)行這里描述的 一些或者所有方法以及布署實(shí)施這里 描述的一些或者所有方法的軟件、硬件和web服務(wù)。這些實(shí)施例也 可以包括分析客戶的操作、根據(jù)分析來(lái)給出建議、構(gòu)建用以實(shí)施這 些建議的多個(gè)部分的系統(tǒng)、將系統(tǒng)集成到現(xiàn)有處理和基礎(chǔ)結(jié)構(gòu)中、 對(duì)系統(tǒng)的使用進(jìn)行計(jì)量、劃分系統(tǒng)用戶的費(fèi)用以及針對(duì)系統(tǒng)的使用 進(jìn)行計(jì)費(fèi)。
參照?qǐng)D2,示出了圖1中所示訪問(wèn)計(jì)劃高速緩存125的一種適當(dāng) 實(shí)施。訪問(wèn)計(jì)劃高速緩存125包括多個(gè)條目,各條目包括查詢(xún)語(yǔ)句 和對(duì)應(yīng)執(zhí)行細(xì)節(jié)。因此,圖2中所示第一條目包括第一查詢(xún)語(yǔ)句210A 和對(duì)應(yīng)沖丸行細(xì)節(jié)220A;第二條目包括第二查詢(xún)語(yǔ)句210B和對(duì)應(yīng)才丸 行細(xì)節(jié)220B;依此類(lèi)推,直到第N個(gè)條目包括查詢(xún)語(yǔ)句210N和對(duì)
應(yīng)執(zhí)行細(xì)節(jié)220N。
圖3中示出了示例執(zhí)行細(xì)節(jié)220。注意到執(zhí)行細(xì)節(jié)與對(duì)應(yīng)查詢(xún)語(yǔ) 句有關(guān)(圖2)。因此,訪問(wèn)計(jì)劃高速緩存125中的執(zhí)行細(xì)節(jié)可以被 認(rèn)為是"以查詢(xún)?yōu)橹行?,因?yàn)樗c對(duì)應(yīng)查詢(xún)語(yǔ)句有關(guān)。示例執(zhí)行細(xì) 節(jié)的適當(dāng)例子包括對(duì)應(yīng)查詢(xún)語(yǔ)句最后執(zhí)行的時(shí)間戳、對(duì)應(yīng)查詢(xún)語(yǔ)句 的最大開(kāi)銷(xiāo)^l行時(shí)間、對(duì)應(yīng)查詢(xún)語(yǔ)句的總處理時(shí)間、對(duì)應(yīng)查詢(xún)語(yǔ)句 執(zhí)行的總次數(shù)、^丸行對(duì)應(yīng)查詢(xún)語(yǔ)句的用戶名、執(zhí)行對(duì)應(yīng)查詢(xún)語(yǔ)句的 作業(yè)名、扭J亍對(duì)應(yīng)查詢(xún)語(yǔ)句的作業(yè)用戶以及^l^亍對(duì)應(yīng)查詢(xún)語(yǔ)句的作 業(yè)號(hào)。圖3中所示執(zhí)行細(xì)節(jié)的這些例子是查詢(xún)優(yōu)化器通常訪問(wèn)的數(shù) 據(jù),因而能夠用很少的附加開(kāi)銷(xiāo)來(lái)實(shí)現(xiàn)在訪問(wèn)計(jì)劃高速緩存內(nèi)的條 目中存儲(chǔ)此數(shù)據(jù)作為執(zhí)行細(xì)節(jié)。然而,注意到圖3中沒(méi)有示出的其 他執(zhí)行細(xì)節(jié)也可以存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存125內(nèi)的條目中。本公 開(kāi)和權(quán)利要求在這里明確地延及可以與對(duì)應(yīng)查詢(xún)語(yǔ)句 一起存儲(chǔ)于訪 問(wèn)計(jì)劃高速緩存125中、與查詢(xún)語(yǔ)句的執(zhí)行有關(guān)的任何適當(dāng)執(zhí)行細(xì) 節(jié)。
參照?qǐng)D4,現(xiàn)有技術(shù)方法400示出了通常已經(jīng)執(zhí)行用來(lái)調(diào)試數(shù)據(jù) 庫(kù)問(wèn)題的步驟。如上文背景技術(shù)部分中所討論的,已知數(shù)據(jù)庫(kù)性能 監(jiān)視器通常收集如此之多的信息,以至于該數(shù)據(jù)庫(kù)性能監(jiān)視器在它 們運(yùn)行時(shí)造成明顯的性能影響。此外,已知數(shù)據(jù)庫(kù)性能監(jiān)視器收集 的信息量如此之多以至于只有在嘗試追蹤問(wèn)題時(shí)才啟用它們。方法 400在出現(xiàn)數(shù)據(jù)庫(kù)問(wèn)題時(shí)開(kāi)始(步驟410)。能夠使現(xiàn)有技術(shù)的數(shù)據(jù) 庫(kù)性能監(jiān)視器收集對(duì)數(shù)據(jù)庫(kù)活動(dòng)的線性時(shí)間跟蹤(步驟420)。嘗試 調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的用戶(或者數(shù)據(jù)庫(kù)管理員)然后將嘗試重建該問(wèn) 題(步驟430)。重建數(shù)據(jù)庫(kù)問(wèn)題可能困難,是因?yàn)樵斐稍搯?wèn)題的條 件可能很難以復(fù)制。然后可以分析數(shù)據(jù)庫(kù)性能監(jiān)視器的線性時(shí)間跟 蹤輸出以調(diào)試數(shù)據(jù)庫(kù)問(wèn)題(步驟440)。如果發(fā)現(xiàn)問(wèn)題(步驟450 = 是),則禁用數(shù)據(jù)庫(kù)性能監(jiān)視器(步驟460),并且方法400結(jié)束。 如果沒(méi)有發(fā)現(xiàn)問(wèn)題(步驟450 =否),則方法400循環(huán)回到步驟430 并且繼續(xù)。現(xiàn)有技術(shù)方法400的一個(gè)重要問(wèn)題是在數(shù)據(jù)庫(kù)性能監(jiān)視器正在 運(yùn)行的同時(shí)嘗試重建問(wèn)題。許多數(shù)據(jù)庫(kù)問(wèn)題本質(zhì)上是瞬態(tài)的,而重 建產(chǎn)生該問(wèn)題的條件確實(shí)非常困難。本公開(kāi)在這里示出了一種方法, 用以在訪問(wèn)計(jì)劃高速緩存中連續(xù)地收集以查詢(xún)?yōu)橹行牡膱?zhí)行細(xì)節(jié), 從而可以在出現(xiàn)數(shù)據(jù)庫(kù)問(wèn)題之后挖掘和分析執(zhí)行細(xì)節(jié)以確定數(shù)據(jù)庫(kù) 問(wèn)題的成因。
回到圖1,訪問(wèn)計(jì)劃存卩諸^l4勾124優(yōu)選地用它向訪問(wèn)計(jì)劃高速《爰 存125寫(xiě)入的各條目來(lái)存儲(chǔ)執(zhí)行細(xì)節(jié)。結(jié)果,訪問(wèn)計(jì)劃高速緩存125 中的各條目包括查詢(xún)語(yǔ)句和對(duì)應(yīng)執(zhí)行細(xì)節(jié),如圖2中所示。由于這 一執(zhí)行細(xì)節(jié).以查詢(xún)?yōu)橹行牡姆绞竭B續(xù)地存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存 125中,所以現(xiàn)在可以在出現(xiàn)數(shù)據(jù)庫(kù)問(wèn)題之后通過(guò)分析訪問(wèn)計(jì)劃高速 緩存中的執(zhí)行細(xì)節(jié)來(lái)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題。
參照?qǐng)D5,當(dāng)出現(xiàn)數(shù)據(jù)庫(kù)問(wèn)題時(shí)開(kāi)始用于使用訪問(wèn)計(jì)劃高速緩存 中存儲(chǔ)的執(zhí)行細(xì)節(jié)來(lái)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的方法500 (步驟510)。然后 可以檢索和分析訪問(wèn)計(jì)劃高速緩存中已經(jīng)收集的數(shù)據(jù)(步驟520)。 如果發(fā)現(xiàn)問(wèn)題(步驟530 =是),則方法500結(jié)束。如果步驟520 中對(duì)執(zhí)行細(xì)節(jié)的分析沒(méi)有標(biāo)識(shí)數(shù)據(jù)庫(kù)問(wèn)題(步驟530 =否),則可以 采取其他調(diào)試步驟,比如執(zhí)行圖4中的現(xiàn)有技術(shù)方法400以使用數(shù) 據(jù)庫(kù)性能監(jiān)視器來(lái)嘗試標(biāo)識(shí)問(wèn)題。
在如圖5中所示在訪問(wèn)計(jì)劃高速緩存中連續(xù)地收集以查詢(xún)?yōu)榛?礎(chǔ)的執(zhí)行細(xì)節(jié)、與圖4中收集數(shù)據(jù)庫(kù)性能監(jiān)視器中所有數(shù)據(jù)庫(kù)事件 的線性時(shí)間跟蹤之間,令人關(guān)注的差異之一在于,以查詢(xún)?yōu)橹行牡?執(zhí)行細(xì)節(jié)已經(jīng)為數(shù)據(jù)庫(kù)管理器所知,并且因此執(zhí)行細(xì)節(jié)利用很少的 附加開(kāi)銷(xiāo)就能夠與查詢(xún)語(yǔ)句 一 起存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存中。這允 許在訪問(wèn)計(jì)劃高速緩存中連續(xù)地收集和保存執(zhí)行細(xì)節(jié)。這與不以查 詢(xún)?yōu)橹行牟⑶沂占瘮?shù)據(jù)庫(kù)中事件的線性時(shí)間跟蹤中大量數(shù)據(jù)的數(shù)據(jù) 庫(kù)性能監(jiān)視器成鮮明對(duì)照。
參照?qǐng)D6,示出了用于步驟520的一種適當(dāng)實(shí)施。在圖形用戶界 面中向用戶顯示訪問(wèn)計(jì)劃高速緩存中數(shù)據(jù)的子集(步驟610)。圖形
用戶界面包括用以選擇和/或過(guò)濾訪問(wèn)計(jì)劃高速緩存中的數(shù)據(jù)的控件 (步驟620 )。這些控件允許用戶對(duì)存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存中的條 目執(zhí)行數(shù)據(jù)挖掘和分析。結(jié)果是一種通過(guò)查看和分析訪問(wèn)計(jì)劃高速 緩存中包括用于對(duì)應(yīng)查詢(xún)語(yǔ)句的執(zhí)行細(xì)節(jié)的條目來(lái)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題 的圖形用戶友好方式。
參照?qǐng)D7,顯示器700表示為用于訪問(wèn)計(jì)劃高速緩存中條目的 GUI顯示器的一種適當(dāng)實(shí)施。顯示器700包括標(biāo)題欄710、用于顯示 訪問(wèn)計(jì)劃高速緩存中條目的窗口 720、用于示出在窗口 720中選擇的 完全查詢(xún)語(yǔ)句的窗口 730以及提供GUI控件的窗口 740,這些GUI 控件允許用戶選擇和/或過(guò)濾訪問(wèn)計(jì)劃高速緩存中的信息。注意到圖 7中窗口 720內(nèi)所示訪問(wèn)計(jì)劃高速緩存條目包括查詢(xún)語(yǔ)句并且還包 括執(zhí)行細(xì)節(jié),該執(zhí)行細(xì)節(jié)包括執(zhí)行查詢(xún)語(yǔ)句的最后時(shí)間、查詢(xún)語(yǔ)句 的最大開(kāi)銷(xiāo)執(zhí)行、用于執(zhí)行查詢(xún)語(yǔ)句的總時(shí)間、查詢(xún)語(yǔ)句的全部執(zhí) 行以及4丸行查詢(xún)語(yǔ)句的用戶名。注意到在窗口 720中列標(biāo)題右側(cè)代 表其他適當(dāng)執(zhí)行細(xì)節(jié)的"..."也可以包含于訪問(wèn)計(jì)劃高速緩存中的各 條目?jī)?nèi)。
窗口 730顯示用于訪問(wèn)計(jì)劃高速緩存中所選條目的完全查詢(xún)語(yǔ) 句。第三條目在窗口 720中突出顯示。假設(shè)在窗口 730中示出了用 于這一條目的完全查詢(xún)語(yǔ)句,允許用戶檢查查詢(xún)語(yǔ)句。由于在窗口 720中查看大量執(zhí)行細(xì)節(jié)是有幫助的,所以可能沒(méi)有足夠空間用來(lái)顯 示完全查詢(xún)語(yǔ)句。由此可以在窗口 730中顯示完全查詢(xún)語(yǔ)句。
多數(shù)訪問(wèn)計(jì)劃高速緩存將具有多個(gè)條目,不能同時(shí)全部顯示于 窗口 720中。為此,通常顯示條目子集。如GUI領(lǐng)域中已知的那樣, 可以提供滾動(dòng)條來(lái)滾動(dòng)條目列表。此外,也可以^f艮據(jù)在窗口 740中 的GUI控件內(nèi)指定的標(biāo)準(zhǔn)來(lái)過(guò)濾所顯示的條目。
窗口 740示出了能夠用來(lái)選擇和過(guò)濾訪問(wèn)計(jì)劃高速緩存中的條 目的許多GUI控件。圖7中所示GUI控件包括多個(gè)復(fù)選框以及數(shù)據(jù) 域,這些數(shù)據(jù)域可以包括可能選擇的下拉菜單。窗口 740中的第一 復(fù)選框允許用戶指定用于最久執(zhí)行的最小運(yùn)行期。通過(guò)這樣做,將
在窗口 720中僅顯示訪問(wèn)計(jì)劃高速緩存中具有大于用戶指定的最小 運(yùn)行期的最大開(kāi)銷(xiāo)執(zhí)行時(shí)間的那些條目。窗口 740中的第二復(fù)選框 允許用戶指定將僅包括在指定日期和時(shí)間之后運(yùn)行的查詢(xún)。窗口 740 中的其他復(fù)選框允許用戶指定查看前"n"個(gè)運(yùn)行最頻繁的查詢(xún)或者 前"n"個(gè)具有最大累計(jì)運(yùn)行期的查詢(xún),其中"n"由用戶輸入。用戶也可 以指定在窗口 720中僅顯示當(dāng)前活; 夭查詢(xún)或者在窗口 720中僅包括 由指定用戶運(yùn)行的查詢(xún)。用戶可以指定在窗口 720中僅包括具有所 建議的索引的查詢(xún)。用戶也可以指定在窗口 720中包括查詢(xún)必須使 用或者引用的 一 個(gè)或者多個(gè)對(duì)象。用戶也可以指定包括操作系統(tǒng)所 啟動(dòng)的查詢(xún)。在這里的公開(kāi)和權(quán)利要求范圍內(nèi),也可以提供圖1中 未示出的其他GUI控件。
窗口 740還包括允許用戶執(zhí)行各種功能的按鈕750、 760、 770 和780。通過(guò)點(diǎn)擊刷新(Refresh)按鈕750,根據(jù)當(dāng)前所選的GUI 控件如窗口 740左側(cè)的復(fù)選框來(lái)刷新窗口 720中的視圖。點(diǎn)擊創(chuàng)建 快照(Create Snapshot)按4丑760調(diào)用允許用戶限定何時(shí)創(chuàng)建快照的 不同顯示。快照是在特定時(shí)間點(diǎn)對(duì)訪問(wèn)計(jì)劃高速緩存中 一 些或者所 有信息的持久表示。由于訪問(wèn)計(jì)劃高速緩存中的信息隨時(shí)間而改變, 所以獲取快照是一種在不同的時(shí)間點(diǎn)為訪問(wèn)計(jì)劃高速緩存的內(nèi)容建 檔的方式,這允許比較快照以確定性能在兩個(gè)快照之間如何提高或 者降低。點(diǎn)擊顯示最久運(yùn)行(Show Longest Runs )按鈕770使窗口 720中當(dāng)前所選查詢(xún)語(yǔ)句的最久執(zhí)行得以顯示。點(diǎn)擊運(yùn)行可視化解釋 (Run Visual Explain)按4丑780調(diào)用 一種稱(chēng)之為可一見(jiàn)化解釋的不同 工具,其提供所選查詢(xún)語(yǔ)句的可視化解釋?zhuān)纱讼蛴脩籼峁┯糜谡{(diào) 試問(wèn)題的另一工具。
現(xiàn)在參照?qǐng)D8,顯示器700包括已經(jīng)在窗口 740中復(fù)選過(guò)的GUI 控件。用戶已經(jīng)在圖8中的窗口 740內(nèi)指定1秒的最小運(yùn)行期以及 在指定的日期和時(shí)間之后運(yùn)行過(guò)的查詢(xún)。在窗口 720中示出了結(jié)果。 另 一強(qiáng)大的GUI控件是"當(dāng)前活躍的隊(duì)列(Queries currently active ),, 復(fù)選框,其允許用戶指定在窗口 720中僅示出當(dāng)前活躍的查詢(xún)。參照?qǐng)D9,顯示器示出了圖1和圖2中所示訪問(wèn)計(jì)劃高速緩存
125的屬性。這是訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)的信息的摘要,并且可以 包括摘要的時(shí)間、當(dāng)前活躍查詢(xún)的數(shù)目、自從開(kāi)始起運(yùn)行的查詢(xún)的 數(shù)目、自從開(kāi)始起查詢(xún)完全開(kāi)放的次數(shù)、高速緩存中計(jì)劃的當(dāng)前數(shù) 目、當(dāng)前計(jì)劃高速緩存大小以及當(dāng)前計(jì)劃高速緩存大小閾值。當(dāng)然 也能夠包括其他適當(dāng)?shù)挠?jì)劃高速緩存屬性。在圖9的具體例子中, 當(dāng)前計(jì)劃高速緩存大小是502MB而計(jì)劃高速緩存大小閾值是 512MB 。 一旦當(dāng)前計(jì)劃高速緩存大小達(dá)到計(jì)劃高速緩存大小閾值 512MB,將使用取代高速緩存中的條目(如最近最少使用的條目等) 的已知方案用新的條目來(lái)取代訪問(wèn)計(jì)劃高速緩存中的一些條目。由 于訪問(wèn)計(jì)劃高速緩存動(dòng)態(tài)地改變,所以常常希望在特定時(shí)間點(diǎn)獲取 訪問(wèn)計(jì)劃高速緩存的快照,因而能夠保持訪問(wèn)計(jì)劃高速緩存的狀態(tài)。 這允許比較快照以確定性能在兩個(gè)快照之間已經(jīng)如何改變。
圖10示出了用于圖1中的自治快照機(jī)構(gòu)128自治地生成一個(gè)或 者多個(gè)快照129的方法1000。首先用戶限定快照標(biāo)準(zhǔn)(步驟1010)。 自治快照機(jī)構(gòu)128然后基于用戶限定的快照標(biāo)準(zhǔn)自治地生成一個(gè)或 者多個(gè)快照(步驟1020)。自治地創(chuàng)建快照這一能力是較現(xiàn)有技術(shù) 而言的一個(gè)顯著優(yōu)點(diǎn)。數(shù)據(jù)庫(kù)用戶和管理員通常有諸多事項(xiàng)要應(yīng)對(duì), 而不必?fù)?dān)心定期為數(shù)據(jù)庫(kù)的狀態(tài)建檔。通過(guò)限定一種引起自治創(chuàng)建 定期快照的快照標(biāo)準(zhǔn),快照庫(kù)將在任何給定時(shí)間都可用,這將允許 用戶分析數(shù)據(jù)庫(kù)性能隨時(shí)間如何改變。
參照?qǐng)D11,示例顯示窗口 1100包括含有一個(gè)或者多個(gè)快照的稱(chēng) 之為"快照(Snapshot)"的目錄,這些快照是訪問(wèn)計(jì)劃高速緩存中一 些或者所有數(shù)據(jù)的持久表示。窗口 1100包括目錄窗口 1110和目錄 內(nèi)容窗口 1120。用戶可以右擊目錄窗口 1110中的快照目錄,如窗口 1110中快照的突出顯示所示。這使得用其中之一為新建(New)的 各種選擇來(lái)打開(kāi)菜單窗口 1130。當(dāng)用戶選擇菜單窗口 1130中的新建 時(shí),優(yōu)選地顯示圖12中的顯示窗口 1200,該窗口允許用戶為快照的 創(chuàng)建而限定標(biāo)準(zhǔn)。注意到用戶可以輸入快照的名稱(chēng)和方案并且可以
輸入對(duì)快照而言必須滿足的標(biāo)準(zhǔn)。通過(guò)輸入標(biāo)準(zhǔn),快照有效地作為 在獲取快照之時(shí)訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)的相關(guān)數(shù)據(jù)的持久子集。
注意到用戶簡(jiǎn)單地限定所需標(biāo)準(zhǔn)并且點(diǎn)擊確定(OK)按鈕1210可
以來(lái)創(chuàng)建快照一次。在可選方式中,可以安排快照在將來(lái)的指定時(shí)
間發(fā)生一次,如復(fù)選框1240所示。也可以通過(guò)復(fù)選復(fù)選框1250并 且指定快照之間的時(shí)段將快照安排為定期地發(fā)生。就圖12中的例子 而言,當(dāng)用戶點(diǎn)擊確定時(shí)將創(chuàng)建快照 一 次而每八個(gè)小時(shí)將自治地重 復(fù)該快照。結(jié)果是每天三個(gè)快照。當(dāng)遇到數(shù)據(jù)庫(kù)問(wèn)題時(shí),調(diào)查問(wèn)題 的分析人員能夠回到快照庫(kù)以確定性能隨時(shí)間而如何改變。注意到 可以點(diǎn)擊取消(Cancel)按鈕1220以關(guān)閉窗口 1200而不創(chuàng)建快照, 以及可以點(diǎn)擊幫助(Help)按鈕1230以向用戶提供對(duì)上下文敏感的 幫助。
圖1中自治快照機(jī)構(gòu)128的另 一顯著特征在于自治地比較快照、 以及如果快照之間的改變過(guò)大則警告用戶這一能力。參照?qǐng)D13,通 過(guò)自治地收集新的快照來(lái)開(kāi)始方法1300 (步驟1310)。然后將新的 快照與先前的快照做比較(步驟1320)。注意到先前的快照能夠是 最近的快照或者能夠是用作為系統(tǒng)性能基線測(cè)量的某 一 參考快照。 這允許通知用戶關(guān)于參考快照與當(dāng)前快照之間改變的量值,或者如 果快照之間的增量超過(guò)某一指定閾值則通知用戶。如果快照之間的 改變超過(guò)某一指定閾值,則通知用戶(步驟1330)。閾值能夠用任 何適當(dāng)方式來(lái)限定而不一定是靜態(tài)數(shù)字。事實(shí)上,閾值能夠被限定 為被比較的快照之間間隔的函數(shù)。閾值還能夠被限定為快照中兩個(gè)
的組合指定。任何適當(dāng)?shù)膯l(fā)都能夠用來(lái)基于數(shù)個(gè)單獨(dú)參數(shù)和閾值 確定何時(shí)通知用戶。圖13中的步驟1330廣義地表示可以將快照之 間任何指定量值的任何改變通知用戶。
將執(zhí)行細(xì)節(jié)與對(duì)應(yīng)查詢(xún)語(yǔ)句 一起存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存中, 實(shí)現(xiàn)了對(duì)連續(xù)收集的信息的存儲(chǔ),而對(duì)數(shù)據(jù)庫(kù)性能沒(méi)有明顯影響。 可以在出現(xiàn)數(shù)據(jù)庫(kù)問(wèn)題之后挖掘和分析這一信息存儲(chǔ),這提供了與
問(wèn)題出現(xiàn)的時(shí)間有關(guān)的數(shù)據(jù)。結(jié)果是對(duì)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的顯著改進(jìn)。 此外,對(duì)訪問(wèn)計(jì)劃高速緩存的自治快照的安排以在以后時(shí)間容易分 析的方式保持執(zhí)行細(xì)節(jié)。對(duì)快照的自治比較還提供一種用于在兩個(gè) 快照的差異達(dá)到某 一 閾值數(shù)量時(shí)通知用戶的方式。結(jié)果是更易于調(diào) 試數(shù)據(jù)庫(kù)問(wèn)題,因?yàn)檎{(diào)試多數(shù)數(shù)據(jù)庫(kù)問(wèn)題所需要的信息已經(jīng)駐留于 訪問(wèn)計(jì)劃高速緩存中。
本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到在權(quán)利要求的范圍內(nèi)可以有多種變 形。因此,盡管上文具體地示出和描述了本公開(kāi),但是本領(lǐng)域技術(shù) 人員將理解到在不脫離權(quán)利要求的精神和范圍情況下可以在本公開(kāi) 中做出形式和細(xì)節(jié)上的這些以及其他變化。
權(quán)利要求
1.一種裝置,包括至少一個(gè)處理器;耦合到所述至少一個(gè)處理器的存儲(chǔ)器;駐留于所述存儲(chǔ)器中的訪問(wèn)計(jì)劃高速緩存,該訪問(wèn)計(jì)劃高速緩存包括多個(gè)條目,各條目包括查詢(xún)語(yǔ)句以及對(duì)應(yīng)執(zhí)行細(xì)節(jié);以及性能分析機(jī)構(gòu),該性能分析機(jī)構(gòu)分析所述訪問(wèn)計(jì)劃高速緩存中的所述多個(gè)條目并且提供圖形用戶界面,該圖形用戶界面允許用戶選擇和過(guò)濾所述訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)的信息以便顯示于該圖形用戶界面中。
2. 根據(jù)權(quán)利要求1所述的裝置,還包括自治快照機(jī)構(gòu),該自 治快照機(jī)構(gòu)根據(jù)用戶限定的快照標(biāo)準(zhǔn)自治地獲取所述訪問(wèn)計(jì)劃高速 緩存的至少一個(gè)快照。
3. 根據(jù)權(quán)利要求2所述的裝置,其中所述自治快照機(jī)構(gòu)以在所 述用戶限定的快照標(biāo)準(zhǔn)中指定的時(shí)間間隔自治地獲取所述訪問(wèn)計(jì)劃 高速緩存的定期快照。
4. 根據(jù)權(quán)利要求2所述的裝置,其中所述自治快照機(jī)構(gòu)自治地 比較兩個(gè)快照,并且如果所述兩個(gè)快照之間的改變超過(guò)指定閾值則 通知用戶。
5. 根據(jù)權(quán)利要求1所述的裝置,還包括訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu), 該訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu)在所述訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)所述多個(gè)條目。
6. 根據(jù)權(quán)利要求1所述的裝置,其中用于對(duì)應(yīng)查詢(xún)語(yǔ)句的所述 執(zhí)行細(xì)節(jié)包括如下各項(xiàng)中的至少 一項(xiàng)所述查詢(xún)語(yǔ)句最后執(zhí)行的時(shí) 間戳、所述查詢(xún)語(yǔ)句的最大開(kāi)銷(xiāo)執(zhí)行、所述查詢(xún)語(yǔ)句的總處理時(shí)間、 所述查詢(xún)語(yǔ)句執(zhí)行的總次數(shù)、執(zhí)行所述查詢(xún)語(yǔ)句的用戶名、執(zhí)行所 述查詢(xún)語(yǔ)句的作業(yè)名、執(zhí)行所述查詢(xún)語(yǔ)句的作業(yè)用戶以及執(zhí)行所述 查詢(xún)語(yǔ)句的作業(yè)號(hào)。
7. —種用于調(diào)試數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)問(wèn)題的方法,所述方法包括以下步驟在所述數(shù)據(jù)庫(kù)的正常操作過(guò)程中,在訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)多個(gè)條目,每個(gè)條目包括查詢(xún)語(yǔ)句以及對(duì)應(yīng)執(zhí)行細(xì)節(jié);以及在所述數(shù)據(jù)庫(kù)問(wèn)題出現(xiàn)之后,分析所述訪問(wèn)計(jì)劃高速緩存中的 所述執(zhí)行細(xì)節(jié),以確定所述數(shù)據(jù)庫(kù)問(wèn)題的至少一個(gè)成因。
8. 根據(jù)權(quán)利要求7所述的方法,還包括以下步驟如果通過(guò)分 析所述訪問(wèn)計(jì)劃高速緩存中的所述執(zhí)行細(xì)節(jié)不能確定所述問(wèn)題的至 少一個(gè)成因,則執(zhí)行以下步驟啟用數(shù)據(jù)庫(kù)性能監(jiān)視器,以在所述數(shù)據(jù)庫(kù)系統(tǒng)中創(chuàng)建對(duì)事件的 線性時(shí)間3艮蹤;以及在啟用所述數(shù)據(jù)庫(kù)性能監(jiān)視器的同時(shí)嘗試重建所述問(wèn)題。
9. 根據(jù)權(quán)利要求7所述的方法,其中分析所述執(zhí)行細(xì)節(jié)的步驟 包括以下步驟在圖形用戶界面中用圖形顯示所述執(zhí)行細(xì)節(jié)給用戶, 以及在所述圖形用戶界面中提供多個(gè)控件,所述多個(gè)控件允許所述 用戶選擇和過(guò)濾所述執(zhí)行細(xì)節(jié)以便顯示于所述圖形用戶界面中。
10. 根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括以下步驟根據(jù) 用戶限定的快照標(biāo)準(zhǔn)自治地獲取所述訪問(wèn)計(jì)劃高速緩存的至少一個(gè) 快照。
11. 根據(jù)權(quán)利要求10所述的方法,還包括以下步驟以在所述 用戶限定的快照標(biāo)準(zhǔn)中指定的時(shí)間間隔自治地獲取所述訪問(wèn)計(jì)劃高 速緩存的定期快照。
12. 根據(jù)權(quán)利要求10所述的方法,還包括以下步驟 自治地比較兩個(gè)快照;以及如果所述兩個(gè)快照之間的改變超過(guò)指定閾值則通知用戶。
13. 根據(jù)權(quán)利要求7所述的方法,其中用于對(duì)應(yīng)查詢(xún)語(yǔ)句的所 述執(zhí)行細(xì)節(jié)包括如下各項(xiàng)中的至少一項(xiàng)所述查詢(xún)語(yǔ)句最后執(zhí)行的 時(shí)間戳、所述查詢(xún)語(yǔ)句的最大開(kāi)銷(xiāo)執(zhí)行、所述查詢(xún)語(yǔ)句的總處理時(shí) 間、所述查詢(xún)語(yǔ)句執(zhí)行的總次數(shù)、執(zhí)行所述查詢(xún)語(yǔ)句的用戶名、執(zhí) 行所述查詢(xún)語(yǔ)句的作業(yè)名、^執(zhí)行所述查詢(xún)語(yǔ)句的作業(yè)用戶以及扭j亍 所述查詢(xún)語(yǔ)句的作業(yè)號(hào)。
14. 一種用于部署計(jì)算基礎(chǔ)結(jié)構(gòu)的方法,包括將計(jì)算機(jī)可讀代 碼集成到計(jì)算系統(tǒng)中,其中所述代碼與所述計(jì)算系統(tǒng)相結(jié)合地執(zhí)行 根據(jù)權(quán)利要求7所述的方法。
全文摘要
一種數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化器,包括訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu),該訪問(wèn)計(jì)劃存儲(chǔ)機(jī)構(gòu)在訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)與查詢(xún)語(yǔ)句相對(duì)應(yīng)的執(zhí)行細(xì)節(jié)。通過(guò)將執(zhí)行細(xì)節(jié)隨查詢(xún)語(yǔ)句一起存儲(chǔ)于訪問(wèn)計(jì)劃高速緩存中,在需要執(zhí)行細(xì)節(jié)來(lái)調(diào)試數(shù)據(jù)庫(kù)問(wèn)題時(shí),甚至于在問(wèn)題出現(xiàn)之后,執(zhí)行細(xì)節(jié)是可用的??梢栽谑聦?shí)之后挖掘和分析訪問(wèn)計(jì)劃高速緩存中存儲(chǔ)的執(zhí)行細(xì)節(jié),產(chǎn)生一種用于調(diào)試數(shù)據(jù)庫(kù)問(wèn)題的強(qiáng)大工具。執(zhí)行細(xì)節(jié)的快照也可以由用戶創(chuàng)建。此外,用戶可以設(shè)置自治快照和比較,使得可以將兩個(gè)快照之間數(shù)據(jù)庫(kù)性能的降級(jí)警告用戶。
文檔編號(hào)G06F17/30GK101178723SQ200710167470
公開(kāi)日2008年5月14日 申請(qǐng)日期2007年10月25日 優(yōu)先權(quán)日2006年11月9日
發(fā)明者C·N·博格, D·E·比奇, J·M·弗拉納根, M·D·普費(fèi)弗, M·J·安德森, R·J·貝斯根, S·凱蒂雷迪, S·福斯蒂, T·O·麥金利 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司