本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地說,涉及一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法及裝置。
背景技術(shù):
在oracle系統(tǒng)中,當(dāng)出現(xiàn)程序通過索引讀取數(shù)據(jù),或者是程序?yàn)榱艘恢滦宰x而讀回滾段的數(shù)據(jù)等情況時(shí)均需要進(jìn)行單個(gè)數(shù)據(jù)塊的讀取,即單塊讀;其中,oracle為Oracle Database的簡稱,即oracle數(shù)據(jù)庫。需要說明的是,默認(rèn)情況下在oracle系統(tǒng)中進(jìn)行一次單塊讀的時(shí)間是在幾毫秒之內(nèi),如果超過了這個(gè)值就認(rèn)為該系統(tǒng)存在一定的性能問題,如磁盤太慢需要更換磁盤等,因此,可以通過對單塊讀的監(jiān)控,實(shí)現(xiàn)對于系統(tǒng)性能的監(jiān)控。
現(xiàn)有技術(shù)中用于監(jiān)控單塊讀的方式是通過oracle系統(tǒng)自帶的awr(automatic workload repository)來實(shí)現(xiàn),而awr對于單塊讀的監(jiān)控的基本原理如下:在一段時(shí)間內(nèi)實(shí)現(xiàn)對單塊讀的監(jiān)控,并將這段時(shí)間內(nèi)發(fā)生的單塊讀所用時(shí)間的平均值作為監(jiān)控到的單塊讀延遲進(jìn)行輸出??梢?,現(xiàn)有技術(shù)中利用awr實(shí)現(xiàn)的單塊讀的監(jiān)控所得到的數(shù)據(jù)為一段時(shí)間內(nèi)的單塊讀所用時(shí)間的平均值,而不是實(shí)時(shí)值,因此,并不能有效的反映出單塊讀的實(shí)時(shí)情況。
綜上所述,現(xiàn)有技術(shù)中用于實(shí)現(xiàn)對單塊讀的監(jiān)控的方式存在有效性較差的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法及裝置,以解決現(xiàn)有技術(shù)中用于實(shí)現(xiàn)對單塊讀的監(jiān)控的方式存在的有效性較差的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法,包括:
對當(dāng)前產(chǎn)生的單塊讀事件進(jìn)行實(shí)時(shí)監(jiān)控,得到完成該單塊讀時(shí)間所用的讀時(shí)間;
將所述讀時(shí)間進(jìn)行輸出。
優(yōu)選的,還包括:
判斷所述讀時(shí)間是否大于預(yù)設(shè)時(shí)間,如果是,則輸出報(bào)警信息。
優(yōu)選的,輸出報(bào)警信息,包括:
將所述讀時(shí)間與所述預(yù)設(shè)時(shí)間攜帶于所述報(bào)警信息中發(fā)送至指定終端。
優(yōu)選的,將所述讀時(shí)間進(jìn)行輸出,包括:
將所述讀時(shí)間顯示在對應(yīng)顯示屏上。
優(yōu)選的,將所述讀時(shí)間進(jìn)行輸出,包括:
將所述讀時(shí)間進(jìn)行語音播報(bào)。
一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置,包括:
讀事件產(chǎn)生模塊,用于產(chǎn)生讀事件;
監(jiān)控模塊,用于對所述讀事件產(chǎn)生模塊當(dāng)前產(chǎn)生的單塊讀事件進(jìn)行實(shí)時(shí)監(jiān)控,得到完成該單塊讀時(shí)間所用的讀時(shí)間;
輸出模塊,用于將所述讀時(shí)間進(jìn)行輸出。
優(yōu)選的,還包括:
判斷模塊,用于判斷所述讀時(shí)間是否大于預(yù)設(shè)時(shí)間,如果是,則輸出報(bào)警信息。
優(yōu)選的,所述判斷模塊包括:
報(bào)警單元,用于將所述讀時(shí)間與所述預(yù)設(shè)時(shí)間攜帶于所述報(bào)警信息中發(fā)送至指定終端。
優(yōu)選的,所述輸出模塊包括:
第一輸出單元,用于將所述讀時(shí)間顯示在對應(yīng)顯示屏上。
優(yōu)選的,所述輸出模塊包括:
第二輸出單元,用于將所述讀時(shí)間進(jìn)行語音播報(bào)。
本發(fā)明提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法及裝置,其中,該方法包括:對當(dāng)前產(chǎn)生的單塊讀事件進(jìn)行實(shí)時(shí)監(jiān)控,得到完成該單塊讀時(shí)間所用的讀時(shí)間;將所述讀時(shí)間進(jìn)行輸出。通過本申請公開的上述技術(shù)方案,實(shí)時(shí)監(jiān)控oracle系統(tǒng)中產(chǎn)生的單塊讀事件,并且實(shí)時(shí)將每個(gè)單塊讀事件所用的讀時(shí)間進(jìn)行輸出,以使得工作人員能夠?qū)崟r(shí)得到每個(gè)單塊讀事件的單塊讀延遲,即讀時(shí)間;與現(xiàn)有技術(shù)中將一段時(shí)間內(nèi)發(fā)生的單塊讀所用時(shí)間的平均值作為監(jiān)控到的單塊讀延遲進(jìn)行輸出不同,本申請中對每個(gè)單塊讀事件的讀時(shí)間均進(jìn)行輸出,從而能夠使得工作人員可以及時(shí)獲知每個(gè)單塊讀事件的讀時(shí)間,達(dá)到對于單塊讀事件的實(shí)時(shí)監(jiān)控,進(jìn)而有效的實(shí)現(xiàn)了對于單塊讀事件的監(jiān)控。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,其示出了本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法的流程圖,可以包括以下步驟:
S11:對當(dāng)前產(chǎn)生的單塊讀事件進(jìn)行實(shí)時(shí)監(jiān)控,得到完成該單塊讀時(shí)間所用的讀時(shí)間。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法中未標(biāo)明主語的步驟的主語均可以為一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置。具體來說,本發(fā)明實(shí)施例中可以在oracle數(shù)據(jù)庫服務(wù)器上執(zhí)行相應(yīng)的腳本,以產(chǎn)生單塊讀事件,即運(yùn)行該腳本以進(jìn)行單個(gè)數(shù)據(jù)塊的讀取,進(jìn)而由本裝置實(shí)時(shí)監(jiān)控單塊讀事件,并得到每個(gè)單塊讀事件所用的讀時(shí)間。
S12:將讀時(shí)間進(jìn)行輸出。
每得到一個(gè)單塊讀時(shí)間對應(yīng)的讀時(shí)間就對其進(jìn)行輸出,從而實(shí)現(xiàn)對于單塊讀時(shí)間的實(shí)時(shí)監(jiān)控。
通過本申請公開的上述技術(shù)方案,實(shí)時(shí)監(jiān)控oracle系統(tǒng)中產(chǎn)生的單塊讀事件,并且實(shí)時(shí)將每個(gè)單塊讀事件所用的讀時(shí)間進(jìn)行輸出,以使得工作人員能夠?qū)崟r(shí)得到每個(gè)單塊讀事件的單塊讀延遲,即讀時(shí)間;與現(xiàn)有技術(shù)中將一段時(shí)間內(nèi)發(fā)生的單塊讀所用時(shí)間的平均值作為監(jiān)控到的單塊讀延遲進(jìn)行輸出不同,本申請中對每個(gè)單塊讀事件的讀時(shí)間均進(jìn)行輸出,從而能夠使得工作人員可以及時(shí)獲知每個(gè)單塊讀事件的讀時(shí)間,達(dá)到對于單塊讀事件的實(shí)時(shí)監(jiān)控,進(jìn)而有效的實(shí)現(xiàn)了對于單塊讀事件的監(jiān)控。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法,還可以包括:
判斷讀時(shí)間是否大于預(yù)設(shè)時(shí)間,如果是,則輸出報(bào)警信息。
需要說明的是,預(yù)設(shè)時(shí)間為工作人員根據(jù)實(shí)際需要確定的,具體為在oracle系統(tǒng)性能正常的情況下單塊讀事件所用時(shí)間所能達(dá)到的最大值。對應(yīng)的,如果單塊讀事件的讀事件大于預(yù)設(shè)事件,則說明該單塊讀事件存在異常,此時(shí)輸出報(bào)警信息,以通知工作人員對oracle系統(tǒng)的性能進(jìn)行檢測及維護(hù)。如果單塊讀事件的讀時(shí)間小于預(yù)設(shè)時(shí)間,則說明該單塊讀事件未存在異常,此時(shí),可以不做任何處理,繼續(xù)監(jiān)控。從而保證了工作人員對于單塊讀事件異常的及時(shí)發(fā)現(xiàn)及處理,保證了oracle系統(tǒng)的正常工作。
其中,輸出報(bào)警信息的方式有很多種,如輸出報(bào)警信息,可以包括:
將讀時(shí)間與預(yù)設(shè)時(shí)間攜帶于報(bào)警信息中發(fā)送至指定終端。
其中,指定終端可以是與工作人員對應(yīng)的終端,上述輸出方式可以是以短信的形式將報(bào)警信息輸出至工作人員對應(yīng)的終端,從而能夠使得工作人員及時(shí)獲知單塊讀事件的異常。當(dāng)然,還可以根據(jù)實(shí)際需要進(jìn)行其他設(shè)置,如設(shè)置警報(bào)器進(jìn)行蜂鳴報(bào)警等,均在本發(fā)明的保護(hù)范圍之內(nèi)。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法,將讀時(shí)間進(jìn)行輸出,可以包括:
將讀時(shí)間顯示在對應(yīng)顯示屏上。
將讀時(shí)間進(jìn)行輸出,也可以包括:
將讀時(shí)間進(jìn)行語音播報(bào)。
通過上述方式,能夠直觀的將讀時(shí)間進(jìn)行輸出,方便工作人員對于讀時(shí)間的及時(shí)獲知。
與上述方法相對應(yīng),本發(fā)明實(shí)施例還提供了一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置,如圖2所示,可以包括:
讀事件產(chǎn)生模塊11,用于產(chǎn)生讀事件;
監(jiān)控模塊12,用于對讀事件產(chǎn)生模塊當(dāng)前產(chǎn)生的單塊讀事件進(jìn)行實(shí)時(shí)監(jiān)控,得到完成該單塊讀時(shí)間所用的讀時(shí)間;
輸出模塊13,用于將讀時(shí)間進(jìn)行輸出。
需要說明的是,讀事件產(chǎn)生模塊可以為上文中提到的產(chǎn)生讀事件的腳本。具體來說,本發(fā)明實(shí)施例提供的上述裝置還可以包括數(shù)據(jù)庫,數(shù)據(jù)庫中存儲有供讀事件產(chǎn)生模塊讀取的數(shù)據(jù),而監(jiān)控得到讀時(shí)間具體可以是通過監(jiān)控讀事件,將讀事件由開始至結(jié)束的過程以代碼的形式進(jìn)行獲取,進(jìn)而將該代碼進(jìn)行轉(zhuǎn)換以得到對應(yīng)讀事件。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置,還可以包括:
判斷模塊,用于判斷讀時(shí)間是否大于預(yù)設(shè)時(shí)間,如果是,則輸出報(bào)警信息。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置,判斷模塊可以包括:
報(bào)警單元,用于將讀時(shí)間與預(yù)設(shè)時(shí)間攜帶于報(bào)警信息中發(fā)送至指定終端。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置,輸出模塊可以包括:
第一輸出單元,用于將讀時(shí)間顯示在對應(yīng)顯示屏上。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置,輸出模塊可以包括:
第二輸出單元,用于將讀時(shí)間進(jìn)行語音播報(bào)。
本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的裝置中相關(guān)部分的說明請參見本發(fā)明實(shí)施例提供的一種實(shí)時(shí)監(jiān)控oracle單塊讀延遲的方法中對應(yīng)部分的詳細(xì)說明,在此不再贅述。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。