在Oracle數(shù)據(jù)庫(kù)維護(hù)中的前瞻性需要考慮的問(wèn)題
我們都知道有的時(shí)候因?yàn)橐恍┊惓5臄?shù)據(jù)會(huì)導(dǎo)致周期性的產(chǎn)生,所以Oracle數(shù)據(jù)庫(kù)管理員就必須要了解關(guān)于幾個(gè)周期之內(nèi)的相關(guān)數(shù)據(jù),此時(shí)就需要延長(zhǎng)這個(gè)循壞周期Oracle數(shù)據(jù)庫(kù)維護(hù)中的前瞻性 。
配置合適的時(shí)間參數(shù)。
在啟用自動(dòng)工作負(fù)荷存儲(chǔ)庫(kù)之后,數(shù)據(jù)庫(kù)管理員還需要考慮一些時(shí)間上的分配問(wèn)題。如這個(gè)自動(dòng)負(fù)荷存儲(chǔ)庫(kù)表中的數(shù)據(jù)需要保存多久。由于數(shù)據(jù)庫(kù)運(yùn)行統(tǒng)計(jì)信息的數(shù)量,隨著其級(jí)別的不同,數(shù)據(jù)量有多少。但是只要采用了Typical或者All這兩個(gè)級(jí)別后,其信息量還是很可觀的。故如果不定時(shí)清除這些數(shù)據(jù)的話,則這個(gè)表沒(méi)有多少時(shí)間就會(huì)占用很大的空間了。
為此這個(gè)表必須循環(huán)利用,以減少存儲(chǔ)空間。默認(rèn)情況下,自動(dòng)負(fù)荷存儲(chǔ)表中的內(nèi)容只會(huì)被保存七天,也就是說(shuō)這個(gè)表中存儲(chǔ)的是最近七天的數(shù)據(jù)庫(kù)運(yùn)行信息。但是如果數(shù)據(jù)庫(kù)環(huán)境設(shè)計(jì)比較復(fù)雜可能會(huì)產(chǎn)生大量的統(tǒng)計(jì)信息,則此時(shí)數(shù)據(jù)庫(kù)管理員就需要縮短這個(gè)時(shí)間。
而有時(shí)候某些異常數(shù)據(jù)可能會(huì)周期性的出現(xiàn),故Oracle數(shù)據(jù)庫(kù)管理員需要了解幾個(gè)周期之內(nèi)的數(shù)據(jù),此時(shí)就需要延長(zhǎng)這個(gè)循壞周期。為此數(shù)據(jù)庫(kù)管理員要能夠更改這個(gè)周期,以方便其工作。如果數(shù)據(jù)庫(kù)管理員需要跟該這個(gè)周期的話,那么就需要執(zhí)行Dbms_Workload_Reposttory程序,設(shè)置其中的retention參數(shù)。
注意這里是用分鐘為單位。如果數(shù)據(jù)庫(kù)管理員想要把這個(gè)時(shí)間設(shè)置為10天的話,則就需要把這個(gè)參數(shù)設(shè)置為60*24*10=14400分鐘。注意這里是以分鐘為單位。如果數(shù)據(jù)庫(kù)管理員不知道這個(gè)內(nèi)容或者誤以為這里是以天為單位的,而把這個(gè)參數(shù)設(shè)置為10的話,那么這個(gè)工作負(fù)荷存儲(chǔ)庫(kù)表中就不會(huì)記錄有價(jià)值的信息。
另外,默認(rèn)情況下工作負(fù)荷存儲(chǔ)庫(kù)的內(nèi)存監(jiān)視器是每60分鐘收集一下信息。不過(guò)有時(shí)候數(shù)據(jù)庫(kù)管理員可能需要根據(jù)實(shí)際情況來(lái)縮短這個(gè)統(tǒng)計(jì)的周期或者嚴(yán)懲周期。如為了測(cè)試的需要要把這個(gè)周期縮短為10分鐘以判斷是否正常啟用了自動(dòng)工作負(fù)荷存儲(chǔ)庫(kù)時(shí),就需要把這個(gè)周期縮短。
此時(shí)也是采用如上那個(gè)程序,不過(guò)參數(shù)是interval了。如果要把這個(gè)時(shí)間調(diào)整為30分鐘,則只需要把這個(gè)參數(shù)設(shè)置為30即可。注意此時(shí)這里是以分鐘為單位。如果此時(shí)數(shù)據(jù)庫(kù)管理員要讓這個(gè)工作負(fù)荷存儲(chǔ)庫(kù)表保留10天的紀(jì)錄,同時(shí)每隔30分鐘統(tǒng)計(jì)數(shù)據(jù)庫(kù)運(yùn)行的信息,就可以執(zhí)行以下的命令來(lái)完成:
- Execute Dbms_Workload_Reposttory.
modify_snapshot_settings- (interval=30,retention=14400)
即可以完成如上的需求。筆者再次強(qiáng)調(diào)一下,這個(gè)命令中都是以分鐘為單位的。另外,如果同時(shí)縮短統(tǒng)計(jì)周期并延長(zhǎng)工作負(fù)荷存儲(chǔ)庫(kù)表的存儲(chǔ)周期,那么在這兩個(gè)因素的共同作用下,這個(gè)表的容量會(huì)很快的膨脹起來(lái)。Oracle數(shù)據(jù)庫(kù)管理員需要注意這個(gè)問(wèn)題。
通常情況下,筆者建議可以縮短這個(gè)統(tǒng)計(jì)周期,但是不建議延長(zhǎng)表的存儲(chǔ)周期。如果數(shù)據(jù)庫(kù)管理員確實(shí)需要一段時(shí)期內(nèi)的性能數(shù)據(jù)的話,則可以先把這個(gè)表導(dǎo)出來(lái)進(jìn)行備份。這可以避免工作負(fù)荷存儲(chǔ)表對(duì)數(shù)據(jù)庫(kù)表空間的侵蝕。再者,縮短內(nèi)存監(jiān)視器收集系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)周期會(huì)增加Oracle數(shù)據(jù)庫(kù)的額外開(kāi)銷(xiāo),這也是數(shù)據(jù)庫(kù)管理員在調(diào)整這兩個(gè)參數(shù)時(shí)需要注意到的內(nèi)容。
【編輯推薦】