国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于Oracle數(shù)據(jù)庫(kù)的一般維護(hù)分析

2011-07-21 06:37胡琪
科技與生活 2011年13期
關(guān)鍵詞:應(yīng)用程序排隊(duì)沖突

胡琪

摘?要文章主要分析了大型數(shù)據(jù)庫(kù)Oracle的主動(dòng)維護(hù)和按需維護(hù)的一般方法,重點(diǎn)探討了維護(hù)過(guò)程中的安全性、門(mén)閂鎖與排隊(duì)鎖的競(jìng)爭(zhēng)以及如果周期性監(jiān)測(cè)并解決鎖沖突的問(wèn)題,最后總結(jié)了通用例程維護(hù)過(guò)程中,需要注意的問(wèn)題。

關(guān)鍵詞Oracle;維護(hù)

中圖分類(lèi)號(hào)TP文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)1673-9671-(2011)071-0102-01

數(shù)據(jù)庫(kù)的維護(hù)工作在整個(gè)數(shù)據(jù)庫(kù)的使用過(guò)程中都要進(jìn)行。由于Oracle的RDBMS 非常嚴(yán)謹(jǐn),所以它在相當(dāng)長(zhǎng)的使用周期中都不會(huì)崩潰。但是,這一嚴(yán)謹(jǐn)性要求諸多組成部分之間相互協(xié)作。這樣,就需要時(shí)常維護(hù)此數(shù)據(jù)庫(kù)系統(tǒng),使其不僅能夠正常運(yùn)轉(zhuǎn)而且要保證可接受的響應(yīng)時(shí)間和吞吐率,而且要對(duì)額外的負(fù)載保證其可擴(kuò)展性。如果考慮到數(shù)據(jù)庫(kù)的功能需要有多個(gè)組成部分來(lái)實(shí)現(xiàn),以及不斷增長(zhǎng)的數(shù)據(jù)處理需求,就可以理解數(shù)據(jù)庫(kù)維護(hù)工作的必要性。這些維護(hù)工作包括:補(bǔ)丁/版本升級(jí)、初始化參數(shù)的改變、分段、索引重構(gòu)、計(jì)算段統(tǒng)計(jì)信息、錯(cuò)誤檢測(cè)及修正,以及在管理權(quán)限下的其他各種維護(hù)任務(wù),這些都是必須的。

1主動(dòng)維護(hù)和按需維護(hù)

維護(hù)可以是主動(dòng)維護(hù)和按需維護(hù)。按需維護(hù)一般是針對(duì)當(dāng)時(shí)出現(xiàn)的問(wèn)題,盡快采取正確措施,通常是立刻進(jìn)行。相反,主動(dòng)維護(hù)包括預(yù)見(jiàn)到一些一般或非一般問(wèn)題并采取措施防止其發(fā)生。在任何情況下,為保證及時(shí)發(fā)現(xiàn)出現(xiàn)的問(wèn)題并作出相應(yīng)處理,必須進(jìn)行經(jīng)常性的監(jiān)測(cè)。通常情況下,按需維護(hù)可能需要立即停工以防止將來(lái)不得不進(jìn)行更長(zhǎng)時(shí)間的停工維護(hù)。而主動(dòng)維護(hù)也可能需要停工,因?yàn)闆](méi)有急待處理的問(wèn)題,可以在非數(shù)據(jù)庫(kù)訪問(wèn)高峰期再來(lái)進(jìn)行需要停工才能進(jìn)行的維護(hù)工作。而且,對(duì)于主動(dòng)維護(hù)有了一定的熟悉之后,可以盡量避免按需維護(hù),防止在數(shù)據(jù)庫(kù)訪問(wèn)的高峰期進(jìn)行長(zhǎng)時(shí)間的停工維護(hù)。

1.1在所有可能級(jí)上實(shí)現(xiàn)健壯的安全性

在數(shù)據(jù)庫(kù)環(huán)境中,一項(xiàng)最重要的維護(hù)任務(wù)是增強(qiáng)安全性。對(duì)于任何支持關(guān)鍵任務(wù)的環(huán)境,

健壯的安全性都是必不可少的。缺少安全性會(huì)直接影響可用性:①由于用戶或管理員的誤操作而破壞數(shù)據(jù)庫(kù)的安全性;②由于暴露了數(shù)據(jù)庫(kù)及相關(guān)組成部分(硬件、軟件和網(wǎng)絡(luò)),而易受到惡意的攻擊。

為了使用戶錯(cuò)誤所造成的損失最小并可能防止受到惡意攻擊的傷害,必須面向數(shù)據(jù)庫(kù)及其擴(kuò)展構(gòu)件如網(wǎng)絡(luò)和來(lái)實(shí)現(xiàn)安全性。一個(gè)重要的維護(hù)是要關(guān)注安全錯(cuò)誤信號(hào)并采取措施更正。這一技巧廣泛應(yīng)用于與數(shù)據(jù)庫(kù)相關(guān)的安全性中。同時(shí),Oracle8和第三方還提供了各種各樣的終端用戶認(rèn)證方法。除了終端用戶認(rèn)證,客戶服務(wù)器機(jī)器也要被認(rèn)證。特別是,如果客戶通過(guò)互聯(lián)網(wǎng)絡(luò)輸入數(shù)據(jù)庫(kù)請(qǐng)求,為了防止數(shù)據(jù)庫(kù)被侵犯必須進(jìn)行這種認(rèn)證。有多種機(jī)制支持客戶/服務(wù)器認(rèn)證。

1.2理解、防止并解決門(mén)閂鎖和排隊(duì)鎖的競(jìng)爭(zhēng)

Oracle服務(wù)器利用幾種機(jī)制,如門(mén)閂鎖、排隊(duì)鎖、分布鎖和全局鎖來(lái)控制SGA(緩沖區(qū)cache、行cache、庫(kù)函數(shù)cache等)內(nèi)對(duì)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的共享訪問(wèn)。然而,這些內(nèi)部的加鎖機(jī)制在許多時(shí)候也引起競(jìng)爭(zhēng),直接影響性能并限制吞吐量和可用性。因此,需要對(duì)這些內(nèi)部鎖的機(jī)制以及如何檢測(cè)競(jìng)爭(zhēng)有一個(gè)全面的了解,采取適當(dāng)?shù)牟僮骷记伞?/p>

首先來(lái)了解兩種最常用的內(nèi)部鎖機(jī)制:門(mén)閂鎖和排隊(duì)鎖。門(mén)閂鎖是復(fù)雜的細(xì)粒度串行化構(gòu)件,用來(lái)控制對(duì)SGA內(nèi)部結(jié)構(gòu)的訪問(wèn);排隊(duì)鎖與門(mén)閂鎖類(lèi)似,保護(hù)特定的結(jié)構(gòu),但是它們?cè)趯?shí)現(xiàn)上更高級(jí),除了依賴(lài)互斥策略,排隊(duì)鎖允許資源在多個(gè)級(jí)別共享。根據(jù)鎖的類(lèi)型的不同,解決鎖競(jìng)爭(zhēng)的方法也有多種,如:重作分配和重作拷貝數(shù);對(duì)于行Cache對(duì)象鎖,減少這種鎖的競(jìng)爭(zhēng)的方法之一是增大SHAREDPOOL初始化參數(shù)的大小等。總之,重要的是要預(yù)先主動(dòng)地通過(guò)調(diào)解所有的SQL資源,之后再采用上面的方法來(lái)解決這些問(wèn)題。

1.3周期性地監(jiān)測(cè)并解決鎖沖突

任何多用戶的數(shù)據(jù)庫(kù)都需要鎖,因此很容易引起鎖沖突。對(duì)于Oracle,沖突一般很少,但確實(shí)也有時(shí)發(fā)生。當(dāng)鎖沖突發(fā)生時(shí)可能?chē)?yán)重影響其他各種運(yùn)行的會(huì)話,就會(huì)使常規(guī)的操作混亂—除非鎖問(wèn)題成為DBA監(jiān)測(cè)數(shù)據(jù)庫(kù)時(shí)所必須警覺(jué)的事情,這樣可以采取措施來(lái)解決潛在的問(wèn)題。Oracle提供了許多工具來(lái)監(jiān)測(cè)鎖問(wèn)題,如Oracle和第三方工具、特定的SQL訪問(wèn)、使用catblock.sql和utllockt.sql腳本文件等。但是,有時(shí)這些常規(guī)的方法并不能確定鎖沖突問(wèn)題。例如,某些運(yùn)行時(shí)間長(zhǎng)的關(guān)鍵作業(yè)可能會(huì)受到影響而沒(méi)有被殺死,或者許多進(jìn)程受到影響,使得整個(gè)程序掛起。解決這種情況需要使用某些OS和數(shù)據(jù)庫(kù)調(diào)試工具(如oradbx或orad ebug及truss)來(lái)獲得進(jìn)程狀態(tài)或系統(tǒng)狀態(tài),跟蹤發(fā)布的SQL調(diào)用等。

2通用維護(hù)例程需要注意的問(wèn)題

這里列出一些別的可能出現(xiàn)問(wèn)題的情形,DBA需要監(jiān)測(cè)這些情形作為其通常管理例程的一部分,并在需要時(shí)解決。

1)除了常規(guī)的鎖沖突以外,要顯式地警惕死鎖。

2)警惕效率低下的應(yīng)用S Q L代碼,并在需要時(shí)調(diào)試代碼監(jiān)測(cè)各種各樣應(yīng)用程序?qū)ο到y(tǒng)/數(shù)據(jù)庫(kù)資源的使用,保證這些資源在任何級(jí)都被要?jiǎng)h除。特別是帶有選項(xiàng),如并行訪問(wèn)選項(xiàng)(Parallel Query Option,PQO)和SORTAREASIZE動(dòng)態(tài)設(shè)置,用戶/應(yīng)用程序可能會(huì)使系統(tǒng)飽和,會(huì)影響性能和可用性。

3)同時(shí),要熟悉應(yīng)用程序使用的特定數(shù)據(jù)庫(kù)選項(xiàng),保證這些選項(xiàng)被最優(yōu)地配置。例如,如果應(yīng)用程序頻繁地執(zhí)行Hash操作,要保證HASH_AREA_SIZE和HASH_MULTIBLOCK_IO_COUNT設(shè)置為相等,否則,可能會(huì)使系統(tǒng)資源很快用光。

4)顯式地編寫(xiě)監(jiān)測(cè)腳本,檢查某些潛在的危機(jī)(如段數(shù)達(dá)到了MAXEXTENTS、足夠的自由空間供段擴(kuò)展等待),以便采取正確的措施。

3結(jié)語(yǔ)

總之,Oracle數(shù)據(jù)庫(kù)雖然功能齊全、操作靈活,但在維護(hù)過(guò)程中也需要有很強(qiáng)的技巧性。需要使用各種各樣的進(jìn)程去防止、監(jiān)測(cè)、查找、解決引起數(shù)據(jù)庫(kù)故障的各種因素,如果忽略了周期性的維護(hù)工作,有可能發(fā)生數(shù)據(jù)庫(kù)崩潰。因此,必須預(yù)先做好這些工作以保障數(shù)據(jù)庫(kù)正常運(yùn)行。

參考文獻(xiàn)

[1]王海翔.Oracle數(shù)據(jù)庫(kù)軟件研究[J].現(xiàn)代商貿(mào)工業(yè),2010.

[2]巢子杰.Oracle數(shù)據(jù)庫(kù)優(yōu)化探究[J].軟件導(dǎo)刊,2010.

猜你喜歡
應(yīng)用程序排隊(duì)沖突
耶路撒冷爆發(fā)大規(guī)模沖突
回避沖突不如直面沖突
沖突管理
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
排隊(duì)做操
全面沖突管理的構(gòu)建與應(yīng)用
三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
微軟軟件商店開(kāi)始接受應(yīng)用程序
排隊(duì)回北方