国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

教你輕松掌握DB2 9.5的數(shù)據(jù)庫內(nèi)存保護(hù)

瀏覽:3日期:2023-11-08 13:36:18
在DB2 9.5版本中,數(shù)據(jù)庫引擎由基于過程模式轉(zhuǎn)變?yōu)榫€程模式,這將意味著整個(gè)數(shù)據(jù)庫引擎都在一個(gè)地址空間下(任何代碼段都可以訪問任何全局變量)。這自然是有利也有弊。其中一個(gè)有利的方面是線程比過程更“輕”,這表示DB2的性能更好。有人做過測試顯示DB2 9.5的性能在負(fù)荷運(yùn)行情況下比相同狀態(tài)下的DB2 9.1提升了2%到5%。

而不利的方面是,在任何與緩沖池?zé)o關(guān)的任何db2代碼路徑中的任何db2錯(cuò)誤都有可能會破壞數(shù)據(jù)頁。此外,和db2共享相同地址空間的非保護(hù)模式下的用戶自定義函數(shù)(unfenced UDF)也有可能會破壞內(nèi)存頁。而后,這些不正確數(shù)據(jù)頁就會在毫不察覺的情況下被寫入磁盤里,而你很可能永遠(yuǎn)都不會知道這些數(shù)據(jù)已經(jīng)出現(xiàn)了不一致。線程模式還會產(chǎn)生與非保護(hù)模式下的用戶自定義函數(shù)相關(guān)的安全問題,因?yàn)榫€程模式在潛在情況下會允許惡意用戶代碼在沒有得到授權(quán)的情況下讀寫數(shù)據(jù)頁。如果在保護(hù)(fensed)模式下運(yùn)行用戶自定義函數(shù),這些問題就都不成問題,用戶代碼會通過一個(gè)子過程執(zhí)行并且會通過IPC與DB2進(jìn)行交流,唯一的問題就是這樣做比在非保護(hù)模式下運(yùn)行要慢很多。

在IBM的Power6 CPU上市的時(shí)候,也帶來了一項(xiàng)用于內(nèi)存保護(hù)的新技術(shù)就是用戶級別存儲鍵技術(shù)。這里不是說的內(nèi)核級別存儲鍵,這個(gè)已經(jīng)存在了一段時(shí)間,而用戶級別的存儲鍵則是個(gè)新東西。存儲鍵能夠使應(yīng)用程序鎖定內(nèi)存頁,防止對其進(jìn)行任何形式的讀寫組合操作。

必須支持CPU上的存儲鍵是因?yàn)閮?nèi)存訪問的速度非常之快(達(dá)到納秒級),在軟件水平是無法做到的。存儲鍵使在用戶空間執(zhí)行的DB2引擎能夠防止代碼段對緩沖池?cái)?shù)據(jù)頁進(jìn)行無授權(quán)的讀寫操作。當(dāng)然,如果你是在AIX上運(yùn)行Power6處理器,那這只是其中一個(gè)可選的保護(hù)措施。啟動(dòng)該功能需要5%到6%的性能開銷。用下面的語句啟動(dòng)該功能:

以下是引用片段:

db2set DB2_MEMORY_PROTECT=yes RESTART YOUR INSTANCE

你需要運(yùn)行AIX 5.3 ML6(或更高版本)或AIX 6.1版操作系統(tǒng)。

假如你還在AIX上開發(fā)c或c++代碼,而且并不適用Java的話,你可以選擇使用ukey_protect( address, size, UKEY_PRIVATE)函數(shù)來協(xié)助保護(hù)數(shù)據(jù)內(nèi)存結(jié)構(gòu)。

標(biāo)簽: DB2 數(shù)據(jù)庫
主站蜘蛛池模板: 峨边| 沙河市| 柳江县| 攀枝花市| 明光市| 泌阳县| 韶山市| 琼中| 蒙城县| 台前县| 耒阳市| 仁寿县| 五指山市| 遂溪县| 临猗县| 射洪县| 磐石市| 连江县| 宝兴县| 台东市| 桓仁| 唐山市| 林甸县| 三穗县| 开远市| 抚远县| 海安县| 张家口市| 吉林市| 略阳县| 温宿县| 日土县| 贞丰县| 云霄县| 丹江口市| 景谷| 乃东县| 惠来县| 咸宁市| 安西县| 涡阳县|