一種監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)操作領(lǐng)域,特別涉及一種監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,數(shù)據(jù)庫(kù)管理員不能快速、有效的監(jiān)控操作人員對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的修改,導(dǎo)致不能對(duì)操作人員超范圍操作進(jìn)行及時(shí)的監(jiān)管,存在安全隱患。且數(shù)據(jù)庫(kù)的安全又是十分重要的,它的損壞可能會(huì)造成嚴(yán)重的損失。
[0003]因此,如何快速、有效的監(jiān)控ORACLE數(shù)據(jù)庫(kù)操作,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法及系統(tǒng),該方法可以及時(shí)發(fā)現(xiàn)被監(jiān)測(cè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)變更情況,可以使得數(shù)據(jù)庫(kù)管理員對(duì)操作人員的操作進(jìn)行控制,從而降低了數(shù)據(jù)庫(kù)操作風(fēng)險(xiǎn)。
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法,包括:
[0006]創(chuàng)建被監(jiān)測(cè)數(shù)據(jù)配置表;
[0007]將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息同步到備份表中;
[0008]按照預(yù)定周期,將所述被監(jiān)測(cè)數(shù)據(jù)配置表中啟動(dòng)監(jiān)測(cè)功能的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息與所述備份表中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行對(duì)比;
[0009]若存在數(shù)據(jù)結(jié)構(gòu)信息的變更,則將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中。
[0010]其中,將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中之后,還包括:
[0011]判斷存在變更數(shù)據(jù)結(jié)構(gòu)信息對(duì)應(yīng)的數(shù)據(jù)庫(kù)是否啟用信息發(fā)送功能;
[0012]若啟用,則將所述變更的數(shù)據(jù)結(jié)構(gòu)信息發(fā)送給對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)置的用戶。
[0013]其中,將所述變更的數(shù)據(jù)結(jié)構(gòu)信息發(fā)送給對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)置的用戶之后,還包括:
[0014]查看所述變更的數(shù)據(jù)結(jié)構(gòu)信息是否符合要求;
[0015]若符合,則更新所述備份表中對(duì)應(yīng)數(shù)據(jù)庫(kù)的對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)信息。
[0016]其中,將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息同步到備份表中,包括:
[0017]將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的連接信息進(jìn)行記錄,并將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)中dba_objects及dba_tab_cols表中的數(shù)據(jù)庫(kù)導(dǎo)入本地備份表中。
[0018]其中,還包括:
[0019]創(chuàng)建用戶并分配所述dba_objects及所述dba_tab_cols表的查詢權(quán)限,并開(kāi)通服務(wù)器對(duì)數(shù)據(jù)庫(kù)連接的訪問(wèn)端口。
[0020]本發(fā)明提供一種監(jiān)控?cái)?shù)據(jù)庫(kù)操作的系統(tǒng),包括:
[0021]創(chuàng)建模塊,用于創(chuàng)建被監(jiān)測(cè)數(shù)據(jù)配置表;
[0022]同步模塊,用于將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息同步到備份表中;
[0023]監(jiān)控模塊,用于按照預(yù)定周期,將所述被監(jiān)測(cè)數(shù)據(jù)配置表中啟動(dòng)監(jiān)測(cè)功能的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息與所述備份表中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行對(duì)比;
[0024]記錄模塊,用于若存在數(shù)據(jù)結(jié)構(gòu)信息的變更,則將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中。
[0025]其中,還包括:
[0026]判斷模塊,用于判斷存在變更數(shù)據(jù)結(jié)構(gòu)信息對(duì)應(yīng)的數(shù)據(jù)庫(kù)是否啟用信息發(fā)送功會(huì)K ;
[0027]若啟用,則觸發(fā)發(fā)送模塊將所述變更的數(shù)據(jù)結(jié)構(gòu)信息發(fā)送給對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)置的用戶。
[0028]其中,還包括:
[0029]查看模塊,用于查看所述變更的數(shù)據(jù)結(jié)構(gòu)信息是否符合要求;
[0030]若符合,則觸發(fā)更新模塊更新所述備份表中對(duì)應(yīng)數(shù)據(jù)庫(kù)的對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)信息。
[0031]其中,所述同步模塊具體用于:
[0032]將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的連接信息進(jìn)行記錄,并將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)中dba_objects及dba_tab_cols表中的數(shù)據(jù)庫(kù)導(dǎo)入本地備份表中。
[0033]其中,還包括:
[0034]權(quán)限模塊,用于創(chuàng)建用戶并分配所述dba_objects及所述dba_tab_cols表的查詢權(quán)限,并開(kāi)通服務(wù)器對(duì)數(shù)據(jù)庫(kù)連接的訪問(wèn)端口。
[0035]本發(fā)明所提供的監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法及系統(tǒng),該方法包括:創(chuàng)建被監(jiān)測(cè)數(shù)據(jù)配置表;將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息同步到備份表中;按照預(yù)定周期,將所述被監(jiān)測(cè)數(shù)據(jù)配置表中啟動(dòng)監(jiān)測(cè)功能的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息與所述備份表中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行對(duì)比;若存在數(shù)據(jù)結(jié)構(gòu)信息的變更,則將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中;該方法可以及時(shí)發(fā)現(xiàn)被監(jiān)測(cè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)變更情況,可以使得數(shù)據(jù)庫(kù)管理員通過(guò)查看結(jié)果中,使得數(shù)據(jù)庫(kù)管理員對(duì)操作人員的操作進(jìn)行控制,從而降低了數(shù)據(jù)庫(kù)操作風(fēng)險(xiǎn)。
【附圖說(shuō)明】
[0036]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0037]圖1為本發(fā)明實(shí)施例所提供的監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法的流程圖;
[0038]圖2為本發(fā)明實(shí)施例所提供的結(jié)果表的管理示意圖;
[0039]圖3為本發(fā)明實(shí)施例所提供的監(jiān)控?cái)?shù)據(jù)庫(kù)操作的系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0040]本發(fā)明的核心是提供一種監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法及系統(tǒng),該方法可以及時(shí)發(fā)現(xiàn)被監(jiān)測(cè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)變更情況,可以使得數(shù)據(jù)庫(kù)管理員對(duì)操作人員的操作進(jìn)行控制,從而降低了數(shù)據(jù)庫(kù)操作風(fēng)險(xiǎn)。
[0041]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042]請(qǐng)參考圖1,圖1為本發(fā)明實(shí)施例所提供的監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法的流程圖;該方法可以用于ORACLE數(shù)據(jù)庫(kù),該方法可以包括:
[0043]s 100、創(chuàng)建被監(jiān)測(cè)數(shù)據(jù)配置表;
[0044]其中,被監(jiān)測(cè)數(shù)據(jù)配置表用于存儲(chǔ)被監(jiān)測(cè)的數(shù)據(jù)庫(kù);被監(jiān)測(cè)的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)類(lèi)型可以包括:TABLE、VIEW、INDEX、SEQUENCE、PROCEDURE、FUNCT1N、PACKAGE、PACKAGEBODY、TRIGGER??梢詫?duì)被監(jiān)測(cè)的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)類(lèi)型進(jìn)行新增,修改,刪除等操作。
[0045]被監(jiān)測(cè)數(shù)據(jù)配置表可以根據(jù)用戶的需要進(jìn)行修改,例如增加,刪除數(shù)據(jù)庫(kù)等操作。
[0046]SllO、將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息同步到備份表中;
[0047]其中,為了實(shí)現(xiàn)對(duì)對(duì)數(shù)據(jù)庫(kù)操作的監(jiān)控,需要首先將需要被監(jiān)測(cè)的各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息同步到備份表中,以便后續(xù)用于對(duì)比。具體過(guò)程可以是:將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的連接信息進(jìn)行記錄,并將所述被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)中dba_objects及dba_tab_cols表中的數(shù)據(jù)庫(kù)導(dǎo)入本地備份表中。
[0048]創(chuàng)建用戶并分配所述dba_objects及所述dba_tab_cols表的查詢權(quán)限,并開(kāi)通服務(wù)器對(duì)數(shù)據(jù)庫(kù)連接的訪問(wèn)端口。
[0049]其中,這樣用戶在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),首先需要核實(shí)用戶身份是否可以對(duì)該數(shù)據(jù)庫(kù)進(jìn)行操作,防止出現(xiàn)越級(jí)操作,保護(hù)數(shù)據(jù)庫(kù)安全。
[0050]sl20、按照預(yù)定周期,將所述被監(jiān)測(cè)數(shù)據(jù)配置表中啟動(dòng)監(jiān)測(cè)功能的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息與所述備份表中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行對(duì)比;
[0051]其中,按照預(yù)定周期進(jìn)行監(jiān)控,該周期可以是對(duì)啟動(dòng)監(jiān)控功能的數(shù)據(jù)庫(kù)進(jìn)行輪詢掃描,也可以是每隔預(yù)定時(shí)間對(duì)監(jiān)控的數(shù)據(jù)庫(kù)進(jìn)行一次掃描。
[0052]這里還需要確定啟動(dòng)監(jiān)控功能的數(shù)據(jù)庫(kù),可以通過(guò)數(shù)據(jù)庫(kù)設(shè)置模塊進(jìn)行設(shè)置,數(shù)據(jù)庫(kù)設(shè)置模塊可以記錄被監(jiān)測(cè)數(shù)據(jù)配置表中各個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)名稱(chēng)、數(shù)據(jù)庫(kù)被監(jiān)測(cè)的用戶、數(shù)據(jù)庫(kù)IP地址、端口號(hào)、數(shù)據(jù)庫(kù)SID、數(shù)據(jù)庫(kù)連接用戶名及密碼、掃描時(shí)間、監(jiān)控對(duì)象的類(lèi)型、是否啟用短信發(fā)送、要發(fā)送的手機(jī)號(hào)碼和是否啟用監(jiān)測(cè)等。這些信息數(shù)據(jù)庫(kù)管理員可以隨時(shí)進(jìn)行修改,系統(tǒng)在對(duì)數(shù)據(jù)庫(kù)進(jìn)行監(jiān)控的過(guò)程依據(jù)這里的設(shè)置情況進(jìn)行操作。例如,這里若設(shè)置為啟用監(jiān)測(cè),啟用短信發(fā)送以要發(fā)送的手機(jī)號(hào)碼,設(shè)置了掃描時(shí)間,則對(duì)該數(shù)據(jù)庫(kù)進(jìn)行監(jiān)測(cè)且在發(fā)現(xiàn)該數(shù)據(jù)庫(kù)更新時(shí),需要發(fā)送短信到設(shè)置的要發(fā)送的手機(jī)號(hào)碼中;且在掃描時(shí)間內(nèi)循環(huán)執(zhí)行監(jiān)測(cè)功能。
[0053]本步驟就是根據(jù)各個(gè)數(shù)據(jù)庫(kù)的設(shè)置的不同情況執(zhí)行監(jiān)測(cè)功能,將被監(jiān)測(cè)數(shù)據(jù)配置表中啟動(dòng)監(jiān)測(cè)功能的數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)信息與所述備份表中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行對(duì)比。
[0054]sl30、若存在數(shù)據(jù)結(jié)構(gòu)信息的變更,則將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中。
[0055]其中,結(jié)果表用于記錄監(jiān)測(cè)結(jié)果。若存在數(shù)據(jù)結(jié)構(gòu)信息的變更,則將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中。在結(jié)果表中可以記錄變更修改的數(shù)據(jù)結(jié)構(gòu)的詳細(xì)內(nèi)容以及修改時(shí)間。使得數(shù)據(jù)庫(kù)管理員可以根據(jù)結(jié)果表中記錄的信息對(duì)數(shù)據(jù)庫(kù)操作進(jìn)行監(jiān)管,防止出現(xiàn)操作人員超范圍操作。提高數(shù)據(jù)庫(kù)操作的安全性。
[0056]該方法通過(guò)配置監(jiān)控?cái)?shù)據(jù)結(jié)構(gòu)的類(lèi)型,配置被監(jiān)控?cái)?shù)據(jù)庫(kù),啟動(dòng)監(jiān)控服務(wù)程序,記錄監(jiān)控結(jié)果,完成對(duì)數(shù)據(jù)庫(kù)操作的監(jiān)控。
[0057]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的監(jiān)控?cái)?shù)據(jù)庫(kù)操作的方法,該方法可以及時(shí)發(fā)現(xiàn)被監(jiān)測(cè)數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)變更情況,可以使得數(shù)據(jù)庫(kù)管理員通過(guò)查看結(jié)果中,使得數(shù)據(jù)庫(kù)管理員對(duì)操作人員的操作進(jìn)行控制,從而降低了數(shù)據(jù)庫(kù)操作風(fēng)險(xiǎn)。
[0058]基于上述技術(shù)方案,將變更的數(shù)據(jù)結(jié)構(gòu)信息記錄到結(jié)果表中之后還可以包括:
[0059]判斷存在變更數(shù)據(jù)結(jié)構(gòu)信息對(duì)應(yīng)的數(shù)據(jù)庫(kù)是否啟用信息發(fā)送功能;
[0060]若啟用,則將所述變更的數(shù)據(jù)結(jié)構(gòu)信息發(fā)送給對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)置的用戶。
[0061]其中,為了使得數(shù)據(jù)庫(kù)管理人及時(shí)得知監(jiān)測(cè)的數(shù)據(jù)庫(kù)中數(shù)據(jù)結(jié)構(gòu)的變更情況,當(dāng)監(jiān)測(cè)數(shù)據(jù)庫(kù)啟用了信息發(fā)送功能時(shí),可以根據(jù)設(shè)置的通知用戶的信息,將變更的數(shù)據(jù)結(jié)構(gòu)信息發(fā)送給對(duì)應(yīng)的用戶。
[0062]基于上述技術(shù)方案,將所述變更的數(shù)據(jù)結(jié)構(gòu)信息發(fā)送給對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)置的用戶之后還可以包括:
[0063]查看所述變更的數(shù)據(jù)結(jié)構(gòu)信息是否符合要求;
[0064]若符合,則更新所述備份表中對(duì)應(yīng)數(shù)據(jù)庫(kù)的對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)信息。
[0065]其中,根據(jù)變更數(shù)據(jù)結(jié)構(gòu)信息包括數(shù)據(jù)結(jié)構(gòu)變