国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Oracle 9i 的增強型內存使用率查看表

瀏覽:32日期:2023-11-24 17:17:46
增強了的v$process查看表 Oracle已經通過增強v$process查看表來實現內存監控。v$process查看表里的新數據列答應你顯示當前所有Oracle進程的程序全局區(PGA)區域的細節。PGA是內存里的一個專門區域,被單獨的進程用來執行內存密集型函數,例如排序。 v$process查看表的三個新數據列包括pga_used_memory、pga_allocated_memory和 pga_max_memory。從這些刻度表里,你可以看到Oracle環境里各個后臺進程的實際內存利用率,還可以查看每個到數據庫的連接所需要的內存。為了說明這個問題,考慮一下下面這個查詢: 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;這個例子深入到了Oracle數據庫引擎的行為中。例如,你可以看到Oracle的日志編寫器(LGWR)進程是PGA內存最大的消耗者,其原因是很清楚的:Oracle的日志編寫器進程必須把重做日志鏡像(redo log image)從Oracle的日志緩沖器(在內存里)里傳輸到在線重做日志文件系統里。你還可以看到Oracle的數據庫編寫器(DBW0)進程也有很高的內存占用率,這也是有原因的:Oracle的異步I/O進程必須使用大量的內存資源來保證所有數據庫的更改都被成功地寫到數據庫里。 各個進程所要使用的內存大小 在Oracle9i里查看內存使用的真實值就是查看各個進程的內存使用率。Oracle9i現在有一個共享的內存區域,叫做pga_aggregate_target。在使用Oracle的多線程服務器時, pga_aggregate_target參數的工作方法和Oracle的大內存池相類似,只有一個顯著的不同點。有了一個共享內存區域,Oracle的各個進程,在進行排序和散裂合并時,就可以不受限制地使用多達內存池總量5%的內存。這相對于Oracle8i來說是個重大的改進,它原來要求每個PGA區域的大小必須限制在sort_area_size初始化參數所設定的值里。 Oracle9i還提供了一個叫做v$pgastat的新字典查看表。v$pgastat查看表能顯示數據庫內每個內存區域內的內存使用率的總量。這些信息可以告訴你內存使用率的峰值,還能答應你根據對系統的相對壓力來調整內存需求。以下是一個簡單的對v$pgastat的查詢: column name format a40column value format 999,999,999select name,valuefromv$pgastatorder byvalue desc;你可以看到pga_aggregate_target的值以及這個實例所使用的所有內存區域的峰值。現在我們再來看看最佳、單周期和多周期的內存運行情況。 當Oracle的進程需要進行操作時,例如排序或者散裂合并,它就到pga_aggregate_target區域里的共享內存區里,嘗試取得足夠多的相互毗鄰的內存幀來執行操作。假如這個進程能夠立即取得這些內存幀,它就被標記為最優內存訪問。假如需要在單周期內通過pga_aggregate_target取得所需的內存,那么內存分配就被標記為單周期。假如所有的內存都在使用中,那么Oracle也許就不得不通過pga_aggregate_target在多周期內取得內存,這叫做多周期。 記住:內存的速度是非常非??斓?,絕大多數排序或者散裂合并都是在幾微秒內完成的。Oracle答應單個進程最多使用pga_aggregate_target 5%的內存,并行操作最多可以被答應消耗PGA內存池30%的內存。 多周期運行顯示了內存的不足,所以你總應該分配足夠的內存以保證至少有95%連接上了的任務能夠最佳地獲得內存。 你可以查詢這里列出的v$sysstat查看表來取得workarea運行的信息: 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%的任務應該有最佳workarea運行情況。在以上的輸出中,你可以看到所有的workarea運行情況,它們能運行在最佳、單周期和多周期模式下。 這里提供了和pga_aggregate_target區域大小相關的重要信息。它還能指示出內存區域的過量分配。假如最佳workarea運行的百分比持續保持在98到100%,你就可以從pga_aggregate_target里心安理得地“盜取”內存幀,并把它們分配到Oracle SGA(例如db_cache_size)的其他區域里,那里可能更需要內存資源。查看各個workareas Oracle還提供了數據字典查看表,它能顯示SQL聲明的運行計劃里各個步驟所使用的內存大小。其價值對正確設置hash_area_size和其他內存密集參數的內存大小是不可估量的。 v$sql_workarea_active查看表顯示了Oracle9i數據庫里各個workarea的內存使用數量。 而且,Oracle提供了多個用來合并表格的方法,每個都需要不同數量的內存。Oracle9i SQL優化器能夠分辨分類歸并聯合、嵌套循環合并、、散裂合并和星型合并方法。在有些情況下,散裂合并比分類歸并聯合運行得更快,但是散裂合并需要更多的內存資源和對hash_area_size參數更高級的設置。 以下是對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運行每一步的內存使用數量。一個SQL聲明執行Group By排序需要73 KB內存。你還可以看到運行散裂合并的兩個SQL聲明的系統ID(SID)。這些散裂合并分別使用了3到13 MB內存來建立內存中的散裂表。 一個非常重要的工具 Oracle正在成為最靈活、最復雜的數據庫治理系統之一。數據庫組件的內存使用查看表是治理你Oracle數據庫非常重要的工具。有了它,Oracle專家能夠更加輕易地保證內存使用率的所有設置對所有應用程序都是最優的。
標簽: Oracle 數據庫
主站蜘蛛池模板: 久久狠狠色狠狠色综合 | 国产伦精品一区二区三区免费 | 日韩理论在线 | 亚洲视频手机在线观看 | 欧美三级免费网站 | 欧美一级毛片高清免费观看 | 色拍自拍亚洲综合在线 | 99福利资源久久福利资源 | 九九九在线视频 | 国产一级高清 | 国内精品福利在线视频 | 一级看片 | 久久不卡日韩美女 | 手机亚洲第一页 | 九九视频在线看精品 | 亚洲精品午夜久久久伊人 | 在线观看亚洲精品国产 | 国产a国产| 亚洲99爱| 国产日本在线视频 | 99久久精品费精品国产一区二 | 日本69色视频在线观看 | 精品免费久久久久国产一区 | 久久亚洲精品成人综合 | 欧美视频精品一区二区三区 | 精品视频一区二区三三区四区 | 深夜做爰性大片中文 | 成人毛片免费在线观看 | 国产一级毛片视频在线! | 最新精品亚洲成a人在线观看 | 欧美日韩精品乱国产 | 久久久久久久综合色一本 | 高清性色生活片欧美在线 | 精品成人免费视频 | 成年人在线免费观看网站 | 免费一级欧美大片在线观看 | 日本乱人伦片中文字幕三区 | 欧美黄色一级在线 | 成人欧美在线视频 | 欧美黑粗特黄午夜大片 | 天堂一区二区三区在线观看 |