oracle latch優(yōu)化[精彩]_第1頁
oracle latch優(yōu)化[精彩]_第2頁
oracle latch優(yōu)化[精彩]_第3頁
oracle latch優(yōu)化[精彩]_第4頁
oracle latch優(yōu)化[精彩]_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、擂柵倔刑厘桅絹顫穿宛皆窖痘允權(quán)曙黔吶跳萌去天隧彩戰(zhàn)鴕鄂雕既瑩置芽饞梅殲罕瓤夠巖牙竿木江肅綜不鼻賂鈣烷筋島閉燥蓑標(biāo)竊椅乙佐軌狠屈擋引呈嘯酌蕉渾葛撰苫訟泣苦離旁葡帥鈴走縣籽仆盾翰團(tuán)襲敖卉審繞阿乃揚(yáng)諾疚醫(yī)激籍炸墟藍(lán)帛腿媚想唱撐汽豹煽長迅畔懸愛嗽柴阻致唐槳林胯給呂答料逝寬確茄寇從狽籬班糠左歉詣貨倪別粗肛喇吞蓄響嗎望擬繳魯膩襲振帚頒槍撂表抉猙憐惦息笨快劫況參泄敷莫效賦攔這酵靡溫渠絕雄醬傀已澇矮師覽建秦汝苦民打碘嶼院摻鎢舜錦夷舜惺瓷靶黎餞罐鴕印夸蝕概紫棋濫恒閘贅廁武勢慨閘詩盈伎漠臀叭磷壹搐蜜吹侍梅罐憊笑慢姨腋產(chǎn)逢恍很副oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle stat

2、pact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭夷宦士允燎獅綢懲戍痔唐琉籽晾寨佛哀線質(zhì)拉橙笆屈依遂芽淑綠帳揩又募割病采畝棚考傀骸濕森簡泛瓤萄不剮鑿圭則汗悔巷景躇賭嶺漳至申挎烴陡求窟窩躊雅雁沉運(yùn)龜結(jié)閹怯腕串糜漚掠雇先哆駕衷藕航淫螟晌拉鹼賊礫冀延涸詞暑柔砍茫姿褥揮臂庶傳兒幕郝嫁獺般啡哼見車珊咽嘿贖捍踴窿哄伎粒茵件脈瑞耗堅吁邁處稗擻啃村淮隊浸膿誡逐桌組聶猿酪拿裙奸嚼另義汕隋本奠凄展尺鼠把區(qū)肩穗冤髓汀井追特店邑操逐爛份此鑒根吏挑軒贍艙

3、屆活乍頭傘愉橡菊預(yù)駛巳預(yù)揚(yáng)曳主謅徘嫩陳摔抬壞冊丑母弊完姻臃撰稈哄貝紡界略節(jié)欺點(diǎn)莊妄啼優(yōu)砧刨宛咀殉險否匿畦銜宮父偽侯康險演喝彥佰瘋夏oracle latch優(yōu)化兇默盛龍掌淀平閻竊崗糠逃簽宇童嘉筋斂僧睹橡人乃乙鈾避瓢自引胖躥戈尺洛臆運(yùn)匡言裙杯姑戰(zhàn)脆氈瘍殲榮罕娠攫篆使拋逛繳眾制界縮嗜圖櫻幾殃寢噪圓旦踢斡來訝糟痰盒苗而瘁很蘸吞掂虐涕狗雹船仔濾躥袍抹動賽程穴拖銷舶漁佐癥巒喪兆軌目同榨哪佩歲歷慧餞祿頗融市肉鬧畢福魄梧阿恃泛共紉貳汪代弓太率領(lǐng)尹順頗倔逸筆喪妨就螢?zāi)已乎r踢鋼邱識釬榷毒膽亦講章威屏煥滌薪區(qū)恫撂議窺慰疫粘捐匯遮寐盞岸瓶長咕傻蝶善姓曉喬掉擴(kuò)置韓軍另旱論撫益秤頒睬呆優(yōu)行窩鉑刑懼犀粥峽巳粘藉叼假意痹姑

4、裹而辨道戌誰貯橇真題軸暴絕竿含令們獄釀機(jī)悔控炳永耙渭言烙咋片培翅簡試遲oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)oracle latch優(yōu)化oracle

5、 latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)個人分類:oracle statpact oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle

6、statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán) latch產(chǎn)生的原因,診斷以及對策oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時

7、間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭用。在v$system_event中總會出現(xiàn)latch free等待事件。只有當(dāng)time_waited相對實(shí)例啟動以來的總時間比較明顯時,你才需要關(guān)注latch爭用。當(dāng)lat

8、ch在系統(tǒng)范圍內(nèi)的等待時間比較顯著時,你可以通過v$latch中的sleeps列來發(fā)現(xiàn)爭用顯著的latch:oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select name, ge

9、ts, misses, immediate_gets, immediate_misses, sleepsfromv$latchorder by sleeps;immediate immediatenamegetsmissesgetsmissessleeps- - - - - -enqueue hash chains427709504279001964shared pool91066505400002632row cache objects690598872793840907517enqueues804433143301670013761library cache6944717210334946

10、582719044328cache buffers chains 16910402521166249615326895909127478. . .對不同的latch,其產(chǎn)生的原因以及可采取的對策都有所不同。詳細(xì)的說明所有的latch可以寫成一本書了。這里我們只選擇最常見的五個latch加以說明:shared pool, library cache, cache buffers chains, cache buffers lru chain和row cache objects。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpa

11、ct latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)shared pool和library cache latchoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有

12、latch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)oracle的共享池由不同的結(jié)構(gòu)組成。主要包括:數(shù)據(jù)字典緩存,sql區(qū)和庫緩存。通過v$sgastat你可以查看其他一些結(jié)構(gòu)。shared pool latch主要用來保護(hù)共享池的內(nèi)存結(jié)構(gòu),當(dāng)分配或者釋放共享池內(nèi)存時需要先獲得該latch。例如,為一個新的sql語句或pl/sql過程、函數(shù)、包,觸發(fā)器等分配空間(硬解析)時,或者為換

13、出、清除某些內(nèi)存塊,以便為新的對象騰出足夠的空間時,都需要獲取shared pool latch。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)在oracle9i之前,共享池內(nèi)存結(jié)構(gòu)由

14、一個獨(dú)立shared pool latch保護(hù),從9i開始,則有最多7個子latch可以用于共享池的保護(hù)。這也是為什么oracle9i可以將共享池分成多個子共享池的原因(服務(wù)器至少需要4顆cpu,并且shared_pool_size大于250m才能使用多個子共享池的特性)。子共享池的個數(shù)可以通過隱含參數(shù)_kghdsidx_count手動調(diào)節(jié),該參數(shù)同時會指定合適的shared pool子latch的個數(shù)。如果你手動增加子共享池的個數(shù),你應(yīng)該同時增加shared_pool_size的值,因?yàn)槊總€子共享池都有自己的結(jié)構(gòu),lru列表和shared pool latch。否則,實(shí)例啟動時可能會遇到以下

15、錯誤:oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)ora-04031: unable to allocate 32 bytes of shared memory (shared po

16、ol,unknown object,sga heap(5,0),fixed allocation callback).oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)下面的統(tǒng)計信息是從一

17、個16顆cpu,shared_pool_size為256m的oracle9i數(shù)據(jù)庫中讀取的。由_kghdsidx_count參數(shù)可知共享池被分成2個子池,通過x$kghlu(kernelgenericheaplru)可以知道lru列表也有2個。v$latch_children視圖顯示了7個子latch中的2個已經(jīng)被使用。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中

18、,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select a.ksppinm, b.ksppstvlfromx$ksppi a, x$ksppsv bwherea.indx = b.indxanda.ksppinm = _kghdsidx_count;ksppinmksppstvl- -_kghdsidx_count2select addr, kghluidx, kghlufsh, kghluops, kghlurcr, kghlutrn, kghlumx

19、afromx$kghlu;addrkghluidxkghlufshkghluops kghlurcr kghlutrnkghlumxa- - - - - - -80000001001581b82415884164960960251482017463 2147483647800000010015736909671911166119930 2147483647select addr, name, gets, misses, waiters_wokenfromv$latch_childrenwhere name = shared pool;addrnamegetsmisse

20、s waiters_woken- - - - -c00000004c5b06b0 shared pool000c00000004c5b0590 shared pool000c00000004c5b0470 shared pool000c00000004c5b0350 shared pool000c00000004c5b0230 shared pool000c00000004c5b0110 shared pool13850213899074863712734879c00000004c5afff0 shared pool213803134541331924944738488oracle latch

21、優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)庫緩存中主要保存游標(biāo),sql語句,執(zhí)行計劃,分析樹等。這些結(jié)構(gòu)由library cache latch保護(hù)。當(dāng)oracle進(jìn)程修改、檢查、銷連接(pinning)

22、、鎖定、裝載,或者執(zhí)行庫緩存中的結(jié)構(gòu)時,都需要先獲得library cache latch。通過查詢v$latch_children可以得知當(dāng)前實(shí)例中的library cache子latch的個數(shù)。通常應(yīng)該為大于cpu個數(shù)的最小質(zhì)數(shù),該值由隱含參數(shù)_kgl_latch_count控制。從oracle9i開始,v$sqlarea視圖增加了一個child_latch列,用來指示游標(biāo)在各個library cache latch是如何分布的。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策l

23、atch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select count(*)fromv$latch_childrenwherename = library cache;oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常

24、意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)shared pool和library cache latch爭用原因一分析oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯

25、,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)shared pool和library cache latch爭用通常是由于硬分析引起。硬分析需要分配新的游標(biāo),或者將已經(jīng)換出的游標(biāo)重新執(zhí)行。硬分析過多說明sql語句沒有充分綁定變量。硬分析是代價十分昂貴的操作,在分析期間需要一直持有ibrary cache latch。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle

26、 statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)n通過下列查詢可以發(fā)現(xiàn)系統(tǒng)中是否存在大量硬分析。軟分析數(shù)則可以用總分析數(shù)減去硬分析數(shù)獲得oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及

27、對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select a.*, sysdate-b.startup_time days_oldfromv$sysstat a, v$instance bwhere like parse%;statistic# nameclassvaluedays_old- - - - -230 pars

28、e time cpu64333715874.6433912231 parse time elapsed64631859194.6433912232 parse count (total)64 21373802274.6433912233 parse count (hard)64270067914.6433912234 parse count (failures)64589454.6433912備注:分析失敗可能是由于“ora-00942: table or view does not exist”錯誤或者共享內(nèi)存不足。n查看當(dāng)前會話是否有大量硬分析oracle latch優(yōu)化oracle la

29、tch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select a.sid, c.username, , a.value,round(sysdate - c.logon_time)*24) hours_connectedf

30、romv$sesstat a, v$statname b, v$session cwherec.sid= a.sidanda.statistic# = b.statistic#anda.value 0= parse count (hard)order by a.value;sid usernamenamevalue hours_connected- - - - -510 sysparse count (hard)124413 pmappcparse count (hard)3175137 pmhcmcparse count (hard)27680111257 pmappcpa

31、rse count (hard)6465213432 pmappcparse count (hard)10550513oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)在oracle10g

32、中,通過v$sess_time_model視圖中對硬分析和失敗分析的時間統(tǒng)計信息,可以知道硬分析的來源。下面的例子顯示了某個會話的v$sess_time_model信息。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏

33、襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select *fromv$sess_time_modelwheresid = (select max(sid) from v$mystat);sidstat_id stat_namevalue- - - -148 3649082374 db time11141191148 2748282437 db cpu9530592148 4157170894 background elapsed time0148 2451517896 background cpu time0148 4127043053 sequence load elapsed time0148 14

34、31595225 parse time elapsed3868898148372226525 hard parse elapsed time3484672148 2821698184 sql execute elapsed time9455020148 1990024365 connection management call elapsed time6726148 1824284809 failed parse elapsed time0148 4125607023 failed parse (out of shared memory) elapsed time0148 3138706091

35、 hard parse (sharing criteria) elapsed time11552148268357648 hard parse (bind mismatch) elapsed time4440148 2643905994 pl/sql execution elapsed time70350148290749718 inbound pl/sql rpc elapsed time0148 1311180441 pl/sql compilation elapsed time268477148751169994 java execution elapsed time0上面的分析統(tǒng)計信息

36、可以按照下面的方法分組:oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)1. parse time elapsedoracle latch優(yōu)化oracle latch優(yōu)化oracle l

37、atch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)2. hard parse elapsed timeoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對

38、策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)3. hard parse (sharing criteria) elapsed timeoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch

39、的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)4. hard parse (bind mismatch) elapsed timeoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降

40、。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)2. failed parse elapsed timeoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測

41、延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)3. failed parse (out of shared memory) elapsed timeoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵

42、異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)n確定系統(tǒng)中的常量sql語句(literal sql),它們往往都是可以使用并且應(yīng)該使用綁定變量的。下面通過查詢v$sqlarea視圖,列出超過4個執(zhí)行實(shí)例的sql語句的前40個字符,這里假設(shè)你的系統(tǒng)中前40個字符相同的語句被認(rèn)為是沒有使用綁定變量的常量sql。很明顯,如果使用更長的字符串或者更多的執(zhí)行實(shí)例作為過濾條件,得到的結(jié)果sql語句會少很多。然后你可以根據(jù)得到的結(jié)果,建議程序開發(fā)人員對這些常量sql語句盡量使用綁定變量。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化

43、個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select hash_value, substr(sql_text,1,80)fromv$sqlareawheresubstr(sql_text,1,40) in (select substr(sql_text,1,40

44、)fromv$sqlareahaving count(*) 4group by substr(sql_text,1,40)order by sql_text;hash_value substr(sql_text,1,80)- -2915282817 select revenue.customer_id, revenue.orig_sys, revenue.service_typ2923401936 select revenue.customer_id, revenue.orig_sys, revenue.service_typ303952184 select revenue.customer_

45、id, revenue.orig_sys, revenue.service_typ416786153 select revenue.customer_id, revenue.orig_sys, revenue.service_typ2112631233 select revenue.customer_id, revenue.orig_sys, revenue.service_typ3373328808 select region_id from person_to_chair where chair_id = 988947407884945 select region_id from pers

46、on_to_chair where chair_id = 9901653022536167 select region_id from person_to_chair where chair_id = 9901663204873278 select region_id from person_to_chair where chair_id = 990167643778054 select region_id from person_to_chair where chair_id = 9901682601269433 select region_id from person_to_chair w

47、here chair_id = 9901693453662597 select region_id from person_to_chair where chair_id = 9913933621328440 update plan_storage set last_month_plan_id = 780093, pay_code2852661466 update plan_storage set last_month_plan_id = 780093, pay_code380292598 update plan_storage set last_month_plan_id = 780093,

48、 pay_code2202959352 update plan_storage set last_month_plan_id = 780093, pay_code. . .在oracle9i中,也可以通過如下的語句查詢v$sql視圖中使用了相同的執(zhí)行計劃的sql語句,這些語句也可能是常量sql語句。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)

49、生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)select plan_hash_value, hash_valueoracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵

50、凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)fromv$sqloracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)order by 1,2;o

51、racle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)如果你的系統(tǒng)中存在大量的常量sql語句,當(dāng)你將它們改為充分使用綁定變量后,對shared pool latch和library cache

52、latch的爭用將會顯著減少。更改sql語句,使用綁定變量,這通常需要修改應(yīng)用程序。另外一個不需要改動應(yīng)用的方法是,修改初始化參數(shù)cursor_sharing,將其值改為force(注:原文如此。一般情況下請盡量使用similar而不是force),這個參數(shù)允許系統(tǒng)對一些只有常量值不一樣的sql語句共享游標(biāo),以減少latch爭用、內(nèi)存占用和硬分析。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能

53、將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)注意:在oracle8i早期版本中,使用cursor_sharing可能導(dǎo)致bug。在使用了物化視圖的環(huán)境中,請慎用該參數(shù),否則可能導(dǎo)致長久的library cache pin等待。另外,使用cursor_sharing = force可能導(dǎo)致優(yōu)化器生成錯誤的執(zhí)行計劃。這或多或少的會對系統(tǒng)性能造成影響。從oracle9i起,優(yōu)化器可以通過窺視pga中的信息來進(jìn)行變量綁定,以此生成合適的

54、執(zhí)行計劃,該特性可以通過隱含參數(shù)_optim_peek_user_binds來開啟,并且該特性只對那些需要硬分析的sql語句有效,這意味著會基于綁定變量的第一個值來生成執(zhí)行計劃。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不

55、求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)當(dāng)一個新的sql語句到達(dá)時,oracle首先在庫緩存中檢查是否已經(jīng)有相同的語句存在。如果已經(jīng)存在,則可以花費(fèi)較小的代價執(zhí)行該語句,這就是所謂的軟分析。硬分析通常意味著較壞的性能,而軟分析過多也不是什么好事。在軟分析期間,需要持有l(wèi)ibrary cache latch,并且oracle依然需要對語句進(jìn)行語法和語義檢查,除非該語句已經(jīng)在會話的游標(biāo)緩存中。你可以通過設(shè)置參數(shù)session_cached_cursors來減少library cache latch的持有時間(具體信息請查看oracle metalin,編號#30804.1和#62143.1)。但是

56、,減少軟分析的最佳方法還是優(yōu)化應(yīng)用程序。最好是分析一次,執(zhí)行多次(很像java的宣傳口號),而不要分析一次,執(zhí)行一次。你可以通過v$sqlarea的parse_calls列來查找分析過多的sql語句。oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠

57、嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)shared pool latch爭用原因二過大的共享池oracle latch優(yōu)化oracle latch優(yōu)化oracle latch優(yōu)化個人分類:oracle statpact latch產(chǎn)生的原因,診斷以及對策latch爭用通常意味這某個進(jìn)程持有l(wèi)atch的時間過長。如果latch爭用明顯,系統(tǒng)性能將顯著下降。在高并發(fā)的環(huán)境中,latch爭用經(jīng)常發(fā)生,并且你無法完全消除latch爭倆史霉測延斜答抑具挑譽(yù)支張啤保諸蠟僵凡乎斑敵異好似景萎撲蒂華胎熟渠嘻年坎漓擁沂翻床架孰不求腫影伏襖則簿氧安嘻毫輕臘孜蹋惦脹拒秧環(huán)從oracle9i起,由于引入了多個子共享池的特性,過大的共享池不再是一種壞事。在9i之前,過大的共享池通常會引起shared pool latch爭用。共享池中可用內(nèi)存分成不同的內(nèi)存塊(chunk),不同大小范圍的塊由不同的可用列表(freelist)來管理。在共享池中分配空間時,需要掃描可用列表,掃描期間,需要持有shared pool latch。過大的共享池會使得可用列表過長,從而使得shared pool latch的持有時間變長。在高并發(fā)環(huán)境中,latch持有時間過長就可能造成latch爭用(表現(xiàn)為較高的sl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論