av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

Oracle 9i 的增強(qiáng)型內(nèi)存使用率查看表

瀏覽:42日期:2023-11-24 17:17:46
增強(qiáng)了的v$process查看表 Oracle已經(jīng)通過(guò)增強(qiáng)v$process查看表來(lái)實(shí)現(xiàn)內(nèi)存監(jiān)控。v$process查看表里的新數(shù)據(jù)列答應(yīng)你顯示當(dāng)前所有Oracle進(jìn)程的程序全局區(qū)(PGA)區(qū)域的細(xì)節(jié)。PGA是內(nèi)存里的一個(gè)專門區(qū)域,被單獨(dú)的進(jìn)程用來(lái)執(zhí)行內(nèi)存密集型函數(shù),例如排序。 v$process查看表的三個(gè)新數(shù)據(jù)列包括pga_used_memory、pga_allocated_memory和 pga_max_memory。從這些刻度表里,你可以看到Oracle環(huán)境里各個(gè)后臺(tái)進(jìn)程的實(shí)際內(nèi)存利用率,還可以查看每個(gè)到數(shù)據(jù)庫(kù)的連接所需要的內(nèi)存。為了說(shuō)明這個(gè)問(wèn)題,考慮一下下面這個(gè)查詢: col c1 heading 'ProgramName' format a30col c2 heading 'PGAUsedMemory' format 999,999,999col c3 heading 'PGAAllocatedMemory' format 999,999,999col c4 heading 'PGAMaximumMemory' format 999,999,999selectprogram c1,pga_used_mem c2,pga_alloc_mem c3,pga_max_mem c4fromv$processorder byc4 desc;這個(gè)例子深入到了Oracle數(shù)據(jù)庫(kù)引擎的行為中。例如,你可以看到Oracle的日志編寫器(LGWR)進(jìn)程是PGA內(nèi)存最大的消耗者,其原因是很清楚的:Oracle的日志編寫器進(jìn)程必須把重做日志鏡像(redo log image)從Oracle的日志緩沖器(在內(nèi)存里)里傳輸?shù)皆诰€重做日志文件系統(tǒng)里。你還可以看到Oracle的數(shù)據(jù)庫(kù)編寫器(DBW0)進(jìn)程也有很高的內(nèi)存占用率,這也是有原因的:Oracle的異步I/O進(jìn)程必須使用大量的內(nèi)存資源來(lái)保證所有數(shù)據(jù)庫(kù)的更改都被成功地寫到數(shù)據(jù)庫(kù)里。 各個(gè)進(jìn)程所要使用的內(nèi)存大小 在Oracle9i里查看內(nèi)存使用的真實(shí)值就是查看各個(gè)進(jìn)程的內(nèi)存使用率。Oracle9i現(xiàn)在有一個(gè)共享的內(nèi)存區(qū)域,叫做pga_aggregate_target。在使用Oracle的多線程服務(wù)器時(shí), pga_aggregate_target參數(shù)的工作方法和Oracle的大內(nèi)存池相類似,只有一個(gè)顯著的不同點(diǎn)。有了一個(gè)共享內(nèi)存區(qū)域,Oracle的各個(gè)進(jìn)程,在進(jìn)行排序和散裂合并時(shí),就可以不受限制地使用多達(dá)內(nèi)存池總量5%的內(nèi)存。這相對(duì)于Oracle8i來(lái)說(shuō)是個(gè)重大的改進(jìn),它原來(lái)要求每個(gè)PGA區(qū)域的大小必須限制在sort_area_size初始化參數(shù)所設(shè)定的值里。 Oracle9i還提供了一個(gè)叫做v$pgastat的新字典查看表。v$pgastat查看表能顯示數(shù)據(jù)庫(kù)內(nèi)每個(gè)內(nèi)存區(qū)域內(nèi)的內(nèi)存使用率的總量。這些信息可以告訴你內(nèi)存使用率的峰值,還能答應(yīng)你根據(jù)對(duì)系統(tǒng)的相對(duì)壓力來(lái)調(diào)整內(nèi)存需求。以下是一個(gè)簡(jiǎn)單的對(duì)v$pgastat的查詢: column name format a40column value format 999,999,999select name,valuefromv$pgastatorder byvalue desc;你可以看到pga_aggregate_target的值以及這個(gè)實(shí)例所使用的所有內(nèi)存區(qū)域的峰值。現(xiàn)在我們?cè)賮?lái)看看最佳、單周期和多周期的內(nèi)存運(yùn)行情況。 當(dāng)Oracle的進(jìn)程需要進(jìn)行操作時(shí),例如排序或者散裂合并,它就到pga_aggregate_target區(qū)域里的共享內(nèi)存區(qū)里,嘗試取得足夠多的相互毗鄰的內(nèi)存幀來(lái)執(zhí)行操作。假如這個(gè)進(jìn)程能夠立即取得這些內(nèi)存幀,它就被標(biāo)記為最優(yōu)內(nèi)存訪問(wèn)。假如需要在單周期內(nèi)通過(guò)pga_aggregate_target取得所需的內(nèi)存,那么內(nèi)存分配就被標(biāo)記為單周期。假如所有的內(nèi)存都在使用中,那么Oracle也許就不得不通過(guò)pga_aggregate_target在多周期內(nèi)取得內(nèi)存,這叫做多周期。 記住:內(nèi)存的速度是非常非常快的,絕大多數(shù)排序或者散裂合并都是在幾微秒內(nèi)完成的。Oracle答應(yīng)單個(gè)進(jìn)程最多使用pga_aggregate_target 5%的內(nèi)存,并行操作最多可以被答應(yīng)消耗PGA內(nèi)存池30%的內(nèi)存。 多周期運(yùn)行顯示了內(nèi)存的不足,所以你總應(yīng)該分配足夠的內(nèi)存以保證至少有95%連接上了的任務(wù)能夠最佳地獲得內(nèi)存。 你可以查詢這里列出的v$sysstat查看表來(lái)取得workarea運(yùn)行的信息: col c1 heading 'WorkareaProfile' format a35col c2 heading 'Count' format 999,999,999col c3 heading 'Percentage' format 99select name c1,cnt c2,decode(total, 0, 0, round(cnt*100/total)) c3from(select name,value cnt,(sum(value) over ()) totalfromv$sysstatwherename like 'workarea exec%');至少有95%的任務(wù)應(yīng)該有最佳workarea運(yùn)行情況。在以上的輸出中,你可以看到所有的workarea運(yùn)行情況,它們能運(yùn)行在最佳、單周期和多周期模式下。 這里提供了和pga_aggregate_target區(qū)域大小相關(guān)的重要信息。它還能指示出內(nèi)存區(qū)域的過(guò)量分配。假如最佳workarea運(yùn)行的百分比持續(xù)保持在98到100%,你就可以從pga_aggregate_target里心安理得地“盜取”內(nèi)存幀,并把它們分配到Oracle SGA(例如db_cache_size)的其他區(qū)域里,那里可能更需要內(nèi)存資源。查看各個(gè)workareas Oracle還提供了數(shù)據(jù)字典查看表,它能顯示SQL聲明的運(yùn)行計(jì)劃里各個(gè)步驟所使用的內(nèi)存大小。其價(jià)值對(duì)正確設(shè)置hash_area_size和其他內(nèi)存密集參數(shù)的內(nèi)存大小是不可估量的。 v$sql_workarea_active查看表顯示了Oracle9i數(shù)據(jù)庫(kù)里各個(gè)workarea的內(nèi)存使用數(shù)量。 而且,Oracle提供了多個(gè)用來(lái)合并表格的方法,每個(gè)都需要不同數(shù)量的內(nèi)存。Oracle9i SQL優(yōu)化器能夠分辨分類歸并聯(lián)合、嵌套循環(huán)合并、、散裂合并和星型合并方法。在有些情況下,散裂合并比分類歸并聯(lián)合運(yùn)行得更快,但是散裂合并需要更多的內(nèi)存資源和對(duì)hash_area_size參數(shù)更高級(jí)的設(shè)置。 以下是對(duì)v$sql_workarea_active查詢表的查詢: Selectto_number(decode(SID, 65535, NULL, SID)) sid,operation_type OPERATION,trunc(WORK_AREA_SIZE/1024) WSIZE,trunc(EXPECTED_SIZE/1024) ESIZE,trunc(ACTUAL_MEM_USED/1024) MEM,trunc(MAX_MEM_USED/1024) 'MAX MEM',number_passes PASSfromv$sql_workarea_activeorder by 1,2;你可以看到SQL運(yùn)行每一步的內(nèi)存使用數(shù)量。一個(gè)SQL聲明執(zhí)行Group By排序需要73 KB內(nèi)存。你還可以看到運(yùn)行散裂合并的兩個(gè)SQL聲明的系統(tǒng)ID(SID)。這些散裂合并分別使用了3到13 MB內(nèi)存來(lái)建立內(nèi)存中的散裂表。 一個(gè)非常重要的工具 Oracle正在成為最靈活、最復(fù)雜的數(shù)據(jù)庫(kù)治理系統(tǒng)之一。數(shù)據(jù)庫(kù)組件的內(nèi)存使用查看表是治理你Oracle數(shù)據(jù)庫(kù)非常重要的工具。有了它,Oracle專家能夠更加輕易地保證內(nèi)存使用率的所有設(shè)置對(duì)所有應(yīng)用程序都是最優(yōu)的。
主站蜘蛛池模板: aa级毛片毛片免费观看久 | 中文字幕在线免费观看 | 国产精品波多野结衣 | 国产亚洲欧美在线视频 | 中文字幕亚洲区 | 日本黄色免费视频 | 亚洲一区久久 | 中文在线一区二区 | 成人国产一区二区三区精品麻豆 | 日日天天 | 国产精品视频观看 | 黄毛片 | 激情欧美日韩一区二区 | 国产乱码精品1区2区3区 | 成人午夜 | 日韩一区二区在线看 | 久久久视 | 国产精品日韩欧美一区二区三区 | 一区二区三区精品视频 | 亚洲成人免费 | 欧美视频日韩 | 国产一级片免费看 | 日韩成人av在线播放 | 中文字幕av一区 | 欧美一级一区 | 久久99国产精品 | 一区二区三区欧美在线 | 免费观看成人性生生活片 | 久久99网| 国产欧美日韩综合精品一 | 一区二区三区视频播放 | 91精品国产91久久久久久密臀 | 欧美高清视频在线观看 | 中文字幕高清视频 | 欧美2区| 国产欧美一级 | 在线日韩欧美 | 天天操天天射综合 | 国产精品久久久久久久久久久久久 | 欧美亚洲高清 | 日韩在线免费 |