數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法和裝置,涉及數(shù)據(jù)處理領(lǐng)域,用于解決現(xiàn)有技術(shù)中在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題。本發(fā)明中,在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除該表空間以釋放該表空間占用的資源,在需要?jiǎng)?chuàng)建分區(qū)但不能夠在已有的表空間中創(chuàng)建分區(qū)時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū),從而避免了在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題。
【專利說(shuō)明】數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法和裝置。
【背景技術(shù)】
[0002]在數(shù)據(jù)庫(kù)應(yīng)用技術(shù)中,海量數(shù)據(jù)的存儲(chǔ)一般都會(huì)用到分區(qū)技術(shù)。該技術(shù)是將很大的一張表根據(jù)一定的規(guī)則分成多個(gè)小表并分別存儲(chǔ)到不同的區(qū)域,這樣邏輯上一張表,物理存儲(chǔ)時(shí),可以像多張表一樣,存儲(chǔ)于不同的位置,簡(jiǎn)化了數(shù)據(jù)庫(kù)的管理活動(dòng),而且還可以改善應(yīng)用性能。由于優(yōu)化程序可以獲知作為分區(qū)基礎(chǔ)使用的范圍值,所以它在訪問(wèn)表時(shí)就可以只在特定的分區(qū)直接查詢。因?yàn)樵诓樵冞M(jìn)程中只瀏覽少量數(shù)據(jù),自然就改善了查詢性能。同時(shí)由于對(duì)外的接口仍是一張表,對(duì)于用戶,應(yīng)用是透明的,用戶感覺不到分區(qū)的存在。因此,大表分區(qū)技術(shù)在海量數(shù)據(jù)存儲(chǔ)中的應(yīng)用非常廣泛。
[0003]在Oracle數(shù)據(jù)庫(kù)中,范圍(Range)分區(qū)是Oracle最早最經(jīng)典的分區(qū)算法,通過(guò)指定的分區(qū)鍵值的數(shù)值范圍使數(shù)據(jù)存儲(chǔ)在對(duì)應(yīng)的分區(qū)上。通過(guò)分區(qū)鍵值的數(shù)值范圍,可以知道哪些數(shù)據(jù)是存在哪個(gè)分區(qū)里的,因此比較方便大規(guī)模的數(shù)據(jù)操作。比如,一張用于保存員工信息的表中包含姓名和出生日期兩個(gè)字段,指定出生日期作為分區(qū)鍵值,并指定該分區(qū)鍵值的數(shù)值范圍包括I960年I月到1970年12月、1971年I月到1980年12月、1981年I月到1990年12月,那么,可以在該表對(duì)應(yīng)的表空間中創(chuàng)建三個(gè)分區(qū),這三個(gè)分區(qū)分別保存該表中出生日期在I960年I月到1970年12月的員工信息、出生日期在1971年I月到1980年12月的員工信息、出生日期在1981年I月到1990年12月的員工信息。
[0004]Range分區(qū)的使用非常廣泛,尤其是存在時(shí)效性的海量數(shù)據(jù)。實(shí)際中通常會(huì)按照時(shí)間進(jìn)行分區(qū),這樣,所有的數(shù)據(jù)按照時(shí)間分別存儲(chǔ)在不同的分區(qū)中,當(dāng)數(shù)據(jù)時(shí)效性已過(guò)需要?jiǎng)h除數(shù)據(jù)的時(shí)候,直接刪除對(duì)應(yīng)的分區(qū)就可以了,非常適用海量數(shù)據(jù)的應(yīng)用。
[0005]當(dāng)在線系統(tǒng)長(zhǎng)時(shí)運(yùn)行之后,由于頻繁的刪除分區(qū)、創(chuàng)建分區(qū),在表空間內(nèi)部會(huì)產(chǎn)生大量的磁盤碎片,直接后果就是雖然表空間的可用空間的總量足夠,但無(wú)法創(chuàng)建新的分區(qū)。這時(shí)就需要數(shù)據(jù)庫(kù)管理員人工介入,對(duì)表空間進(jìn)行磁盤碎片整理。如果維護(hù)的系統(tǒng)較多,這種工作量對(duì)于數(shù)據(jù)庫(kù)管理人員來(lái)說(shuō)也是非常大的。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法和裝置,用于解決現(xiàn)有技術(shù)中在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題。
[0007]一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法,該方法包括:
[0008]在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除所述表空間以釋放所述表空間占用的資源;
[0009]在需要?jiǎng)?chuàng)建分區(qū)時(shí),確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),在確定為否時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū)。
[0010]一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)裝置,該裝置包括:[0011]刪除單元,用于在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除所述表空間以釋放所述表空間占用的資源;
[0012]創(chuàng)建單元,用于在需要?jiǎng)?chuàng)建分區(qū)時(shí),確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),在確定為否時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū)。
[0013]本發(fā)明實(shí)施例提供的方案中,在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除該表空間以釋放該表空間占用的資源,在需要?jiǎng)?chuàng)建分區(qū)但不能夠在已有的表空間中創(chuàng)建分區(qū)時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū),從而避免了在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0014]圖1為本發(fā)明實(shí)施例提供的方法流程示意圖;
[0015]圖2A為本發(fā)明實(shí)施例中分區(qū)刪除流程示意圖;
[0016]圖2B為本發(fā)明實(shí)施例中分區(qū)創(chuàng)建流程示意圖;
[0017]圖3為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0018]為了解決現(xiàn)有技術(shù)中在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題,本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法,本方法中,在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除該表空間,使得在需要?jiǎng)?chuàng)建分區(qū)但不能夠在已有的表空間中創(chuàng)建分區(qū)時(shí),可以有可利用的資源新建表空間,并在新建的表空間中創(chuàng)建分區(qū),從而避免了在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題。
[0019]參見圖1,本發(fā)明實(shí)施例提供的數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法,包括以下步驟:
[0020]步驟10:在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除該表空間以釋放該表空間占用的資源;
[0021]步驟11:在需要?jiǎng)?chuàng)建分區(qū)時(shí),確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),在確定為否時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū)。
[0022]具體的,步驟10的實(shí)現(xiàn)可以采用如下兩種方式之一:
[0023]第一,在刪除已有分區(qū)后,確定刪除的分區(qū)所在的表空間中是否不包含任何分區(qū),在確定為是時(shí),刪除該表空間以釋放該表空間占用的資源;這里,可以在一個(gè)已有分區(qū)中的數(shù)據(jù)的保存時(shí)間超過(guò)設(shè)定期限時(shí)刪除該已有分區(qū)。
[0024]第二,定時(shí)確定是否存在不包含任何分區(qū)的表空間,在確定為是時(shí),刪除不包含任何分區(qū)的表空間以釋放該表空間占用的資源。
[0025]具體的,步驟11中,需要?jiǎng)?chuàng)建分區(qū)的情況可以包括以下兩種:
[0026]第一,在刪除已有分區(qū)后,需要?jiǎng)?chuàng)建分區(qū);
[0027]第二,根據(jù)預(yù)先設(shè)置的分區(qū)創(chuàng)建觸發(fā)信息確定需要?jiǎng)?chuàng)建分區(qū)。
[0028]舉例說(shuō)明,分區(qū)創(chuàng)建觸發(fā)信息可以是:創(chuàng)建分區(qū)的時(shí)間信息(比如定時(shí)創(chuàng)建分區(qū))、創(chuàng)建分區(qū)的條件信息(比如一個(gè)新的數(shù)據(jù)庫(kù)表被創(chuàng)建或數(shù)據(jù)庫(kù)表中增加了大量新數(shù)據(jù))。在分區(qū)創(chuàng)建觸發(fā)信息是創(chuàng)建分區(qū)的時(shí)間信息時(shí),在根據(jù)該時(shí)間信息確定創(chuàng)建分區(qū)的時(shí)間到達(dá)時(shí),確定需要?jiǎng)?chuàng)建分區(qū);在分區(qū)創(chuàng)建觸發(fā)信息是創(chuàng)建分區(qū)的條件信息,在根據(jù)該條件信息確定滿足創(chuàng)建分區(qū)的條件時(shí),確定需要?jiǎng)?chuàng)建分區(qū)。
[0029]具體的,步驟11中,在確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)時(shí),該已創(chuàng)建的表空間具體可以是最近創(chuàng)建的表空間即創(chuàng)建時(shí)間最晚的表空間,判斷是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)的依據(jù)是已創(chuàng)建的表空間中包含的分區(qū)的數(shù)目是否達(dá)到預(yù)先設(shè)定的門限值,此時(shí),步驟11中確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)的具體實(shí)現(xiàn)如下:
[0030]判斷最近創(chuàng)建的表空間(即創(chuàng)建時(shí)間最晚的表空間)中包含的分區(qū)的數(shù)目是否達(dá)到預(yù)先設(shè)定的門限值,若是,則確定不能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),否則,確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)。這里,預(yù)先設(shè)定的門限值為不小于I的正整數(shù)。
[0031]當(dāng)然,已創(chuàng)建的表空間并不局限于最近創(chuàng)建的表空間,可以是任何已有的表空間。判斷是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)的依據(jù)也不局限于已創(chuàng)建的表空間中包含的分區(qū)的數(shù)目是否達(dá)到預(yù)先設(shè)定的門限值,還可以是其它任何判斷方式,比如已創(chuàng)建的表空間的大小是否達(dá)到設(shè)定值等。
[0032]進(jìn)一步的,步驟11中,在確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)時(shí),可以在最近創(chuàng)建的表空間中創(chuàng)建分區(qū)。當(dāng)然,也可以在其他滿足條件的已創(chuàng)建的表空間中創(chuàng)建分區(qū)。
[0033]需要說(shuō)明的是,步驟10與步驟11之間并沒有明確的時(shí)序關(guān)系,只要滿足對(duì)應(yīng)步驟的執(zhí)行條件就可執(zhí)行對(duì)應(yīng)步驟,可能是步驟10在步驟11之前執(zhí)行(圖1所示),也可能是步驟11在步驟10之前執(zhí)行,還有可能是步驟10與步驟11并行執(zhí)行。
[0034]下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明:
[0035]實(shí)施例一:
[0036]本實(shí)施例中,需要首先設(shè)定一個(gè)參數(shù)η,該參數(shù)η表示表空間中可創(chuàng)建的分區(qū)的最大個(gè)數(shù);
[0037]如圖2Α所示,定時(shí)刪除表空間的具體實(shí)現(xiàn)流程如下:
[0038]步驟201:定時(shí)判斷是否存在需要?jiǎng)h除的分區(qū);若是,則到步驟202,否則,到步驟205 ;
[0039]本步驟中,具體可以通過(guò)判斷各分區(qū)中數(shù)據(jù)的保存時(shí)間是否超過(guò)有效期,若是,則需要?jiǎng)h除該分區(qū),否則,不需要?jiǎng)h除該分區(qū);
[0040]步驟202:刪除上一步驟中判斷需要?jiǎng)h除的分區(qū);
[0041]步驟203:判斷刪除的分區(qū)所在的表空間中是否不包含任何分區(qū),若是,則到步驟204,否則,到步驟205 ;
[0042]步驟204:刪除上一步驟中判斷的不包含任何分區(qū)的表空間,可以在操作系統(tǒng)級(jí)別釋放表空間占用的資源;
[0043]步驟205:確定過(guò)期數(shù)據(jù)刪除結(jié)束。
[0044]如圖2Β所示,定時(shí)新建表空間的具體實(shí)現(xiàn)流程如下:
[0045]步驟301:確定需要?jiǎng)?chuàng)建分區(qū);
[0046]步驟302:判斷是否需要?jiǎng)?chuàng)建表空間,具體可以判斷最近創(chuàng)建的表空間中的分區(qū)的數(shù)目是否達(dá)到門限值,若是,則到步驟303,否則,到步驟304 ;
[0047]步驟303:利用可用資源創(chuàng)建新的表空間;
[0048]步驟304:若創(chuàng)建了新的表空間,則新的表空間中創(chuàng)建分區(qū);否則,在已有的最近創(chuàng)建的表空間中創(chuàng)建分區(qū),本流程結(jié)束。[0049]本實(shí)施例具有如下的優(yōu)點(diǎn)與積極效果;
[0050]第一,采用本實(shí)施例的方法可以自動(dòng)的創(chuàng)建新分區(qū),刪除老分區(qū),對(duì)海量數(shù)據(jù)進(jìn)行自動(dòng)維護(hù),不僅減少了數(shù)據(jù)庫(kù)的日常維護(hù)工作,而且避免了人工維護(hù)差錯(cuò)產(chǎn)生的風(fēng)險(xiǎn);
[0051]第二,本發(fā)明通過(guò)將表空間納入到自動(dòng)維護(hù)的范圍中,刪除分區(qū)后需要判斷是否需要?jiǎng)h除表空間,在判斷需要?jiǎng)h除表空間后刪除對(duì)應(yīng)的表空間,以真正的在操作系統(tǒng)級(jí)別釋放存儲(chǔ)空間,既避免了創(chuàng)建新分區(qū)的時(shí)候有可能產(chǎn)生的錯(cuò)誤導(dǎo)致創(chuàng)建分區(qū)失敗,也使得存儲(chǔ)的利用率最大化。
[0052]實(shí)施例二:
[0053]為了使本【技術(shù)領(lǐng)域】的人員更好的理解本發(fā)明,下面以某網(wǎng)站的存儲(chǔ)用戶日志數(shù)據(jù)的數(shù)據(jù)庫(kù)表為例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。本實(shí)施例的定時(shí)維護(hù)分區(qū)的方法中,定時(shí)創(chuàng)建和刪除表空間,下面將詳細(xì)描述該過(guò)程。該數(shù)據(jù)庫(kù)表的分區(qū)鍵值為操作時(shí)間,每小時(shí)創(chuàng)建一個(gè)分區(qū),存放該小時(shí)內(nèi)的日志數(shù)據(jù)。
[0054]本實(shí)施例中,首先需要設(shè)定表空間能夠存放的分區(qū)的最大個(gè)數(shù)。如,將該個(gè)數(shù)設(shè)定為100,意味著每個(gè)表空間的分區(qū)個(gè)數(shù)上限值為100,當(dāng)表空間的分區(qū)個(gè)數(shù)達(dá)到該上限值之后,不能在此表空間創(chuàng)建新的分區(qū)。
[0055]步驟一:定時(shí)調(diào)度程序每隔一定時(shí)間判斷是否存在需要?jiǎng)h除的分區(qū),若存在,則刪除需要?jiǎng)h除的分區(qū);
[0056]比如,根據(jù)數(shù)據(jù)的時(shí)效性判斷是否存在需要?jiǎng)h除的分區(qū),假定數(shù)據(jù)的時(shí)效性即保存時(shí)間是半年,則保存時(shí)間超過(guò)半年的數(shù)據(jù)所在的分區(qū)需要被刪除。
[0057]步驟二:判斷已刪除的分區(qū)所在的表空間中是否還存在其他分區(qū),若不存在任何分區(qū),則刪除該表空間,在操作系統(tǒng)級(jí)別釋放該表空間占用的資源。
[0058]本步驟中,在刪除完過(guò)期數(shù)據(jù)所在分區(qū)之后,查詢創(chuàng)建時(shí)間最早的表空間中是否還存在分區(qū),如果存在,則不進(jìn)行任何操作。如果表空間中不存在任何分區(qū),則直接刪除該表空間,其數(shù)據(jù)文件也相應(yīng)刪除,在操作系統(tǒng)級(jí)別釋放了存儲(chǔ)空間。
[0059]步驟三:在需要?jiǎng)?chuàng)建新的分區(qū)時(shí),通過(guò)計(jì)算判斷是否需要?jiǎng)?chuàng)建新的表空間。
[0060]本步驟中,可以在過(guò)期數(shù)據(jù)所在的分區(qū)被刪除之后,創(chuàng)建新的分區(qū)。查詢創(chuàng)建時(shí)間最晚的表空間中的分區(qū)的個(gè)數(shù)是否已達(dá)到上限值100,若已經(jīng)到達(dá)到,則需要?jiǎng)?chuàng)建新的表空間,若沒有達(dá)到上限限值100,則獲取查詢創(chuàng)建時(shí)間最晚的表空間的名稱。
[0061]步驟四:若判斷不需要?jiǎng)?chuàng)建新的表空間,則在創(chuàng)建時(shí)間最晚的表空間(根據(jù)步驟三獲得的表空間名稱確定創(chuàng)建時(shí)間最晚的表空間)中創(chuàng)建新的分區(qū);若判斷需要?jiǎng)?chuàng)建表空間,則創(chuàng)建新的表空間,新創(chuàng)建的表空間的名稱可以按照時(shí)間命名,然后在該表空間中創(chuàng)建新的分區(qū)。
[0062]實(shí)驗(yàn)證明,本實(shí)施例的方法能自動(dòng)對(duì)采用Range分區(qū)存儲(chǔ)的海量數(shù)據(jù)進(jìn)行維護(hù),且定時(shí)調(diào)度程序運(yùn)行一年未發(fā)生任何故障,給數(shù)據(jù)庫(kù)維護(hù)系統(tǒng)帶來(lái)了極大的方便。
[0063]參見圖3,本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)裝置,該裝置包括:
[0064]刪除單元30,用于在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除所述表空間以釋放所述表空間占用的資源;
[0065]創(chuàng)建單元31,用于在需要?jiǎng)?chuàng)建分區(qū)時(shí),確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),在確定為否時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū)。[0066]進(jìn)一步的,所述刪除單元30具體用于:
[0067]在刪除已有分區(qū)后,確定刪除的分區(qū)所在的表空間中是否不包含任何分區(qū),在確定為是時(shí),刪除該表空間以釋放該表空間占用的資源;或者,
[0068]定時(shí)確定是否存在不包含任何分區(qū)的表空間,在確定為是時(shí),刪除不包含任何分區(qū)的表空間以釋放該表空間占用的資源。
[0069]進(jìn)一步的,所述創(chuàng)建單元31具體用于:
[0070]在刪除已有分區(qū)后,需要?jiǎng)?chuàng)建分區(qū);或者,根據(jù)預(yù)先設(shè)置的分區(qū)創(chuàng)建觸發(fā)信息確定需要?jiǎng)?chuàng)建分區(qū)。
[0071]進(jìn)一步的,所述創(chuàng)建單元31具體用于:
[0072]判斷最近創(chuàng)建的表空間中包含的分區(qū)的數(shù)目是否達(dá)到預(yù)先設(shè)定的門限值,若是,則確定不能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),否則,確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)。
[0073]進(jìn)一步的,所述創(chuàng)建單元31還用于:
[0074]在確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)時(shí),在最近創(chuàng)建的表空間中創(chuàng)建分區(qū)。
[0075]綜上,本發(fā)明的有益效果包括:
[0076]本發(fā)明實(shí)施例提供的方案中,在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除該表空間以釋放該表空間占用的資源,在需要?jiǎng)?chuàng)建分區(qū)但不能夠在已有的表空間中創(chuàng)建分區(qū)時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū),從而避免了在已有的表空間中無(wú)法創(chuàng)建新的分區(qū)導(dǎo)致分區(qū)創(chuàng)建失敗的問(wèn)題。
[0077]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0078]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0079]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0080]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0081]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)方法,其特征在于,該方法包括: 在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除所述表空間以釋放所述表空間占用的資源; 在需要?jiǎng)?chuàng)建分區(qū)時(shí),確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),在確定為否時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū)。
2.如權(quán)利要求1所述方法,其特征在于,所述在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除所述表空間以釋放所述表空間占用的資源,具體包括: 在刪除已有分區(qū)后,確定刪除的分區(qū)所在的表空間中是否不包含任何分區(qū),在確定為是時(shí),刪除該表空間以釋放該表空間占用的資源;或者, 定時(shí)確定是否存在不包含任何分區(qū)的表空間,在確定為是時(shí),刪除不包含任何分區(qū)的表空間以釋放該表空間占用的資源。
3.如權(quán)利要求1所述方法,其特征在于,在刪除已有分區(qū)后,需要?jiǎng)?chuàng)建分區(qū);或者,根據(jù)預(yù)先設(shè)置的分區(qū)創(chuàng)建觸發(fā)信息確定需要?jiǎng)?chuàng)建分區(qū)。
4.如權(quán)利要求1所述方法,其特征在于,所述確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),具體包括: 判斷最近創(chuàng)建的表空間中包含的分區(qū)的數(shù)目是否達(dá)到預(yù)先設(shè)定的門限值,若是,則確定不能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),否則,確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)。
5.如權(quán)利要求1-4中任一所述方法,其特征在于,在確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)時(shí),進(jìn)一步包括: 在最近創(chuàng)建的表空間中創(chuàng)建分區(qū)。
6.一種數(shù)據(jù)庫(kù)的分區(qū)維護(hù)裝置,其特征在于,該裝置包括: 刪除單元,用于在已創(chuàng)建的表空間中不包含任何分區(qū)時(shí),刪除所述表空間以釋放所述表空間占用的資源; 創(chuàng)建單元,用于在需要?jiǎng)?chuàng)建分區(qū)時(shí),確定是否能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),在確定為否時(shí),利用當(dāng)前可用資源創(chuàng)建新的表空間,并在新的表空間中創(chuàng)建分區(qū)。
7.如權(quán)利要求6所述裝置,其特征在于,所述刪除單元具體用于: 在刪除已有分區(qū)后,確定刪除的分區(qū)所在的表空間中是否不包含任何分區(qū),在確定為是時(shí),刪除該表空間以釋放該表空間占用的資源;或者, 定時(shí)確定是否存在不包含任何分區(qū)的表空間,在確定為是時(shí),刪除不包含任何分區(qū)的表空間以釋放該表空間占用的資源。
8.如權(quán)利要求6所述裝置,其特征在于,所述創(chuàng)建單元具體用于: 在刪除已有分區(qū)后,需要?jiǎng)?chuàng)建分區(qū);或者,根據(jù)預(yù)先設(shè)置的分區(qū)創(chuàng)建觸發(fā)信息確定需要?jiǎng)?chuàng)建分區(qū)。
9.如權(quán)利要求6所述裝置,其特征在于,所述創(chuàng)建單元具體用于: 判斷最近創(chuàng)建的表空間中包含的分區(qū)的數(shù)目是否達(dá)到預(yù)先設(shè)定的門限值,若是,則確定不能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū),否則,確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)。
10.如權(quán)利要求6-9中任一所述裝置,其特征在于,所述創(chuàng)建單元還用于: 在確定能夠在已創(chuàng)建的表空間中創(chuàng)建分區(qū)時(shí),在最近創(chuàng)建的表空間中創(chuàng)建分區(qū)。
【文檔編號(hào)】G06F17/30GK103544302SQ201310533292
【公開日】2014年1月29日 申請(qǐng)日期:2013年10月31日 優(yōu)先權(quán)日:2013年10月31日
【發(fā)明者】劉金晶 申請(qǐng)人:北京銳安科技有限公司