oracle記憶體結構(第三節 自動PGA記憶體管理)

2021-08-30 07:30:14 字數 685 閱讀 2124

上一節我們看到了,我們可以通過設定sort_area_size來確定使用者的排序區的大小。這個時候有乙個問題,假設sort_area_size為2m,總共可用記憶體為1g。現在併發使用者為10個,最多的時候只是用了20m,並沒有充分利用記憶體。如果乙個使用者在排序的時候最多需要用5m的空間,你卻把sort_area_size設定為2m,會影響效能。最冤枉的是我明明還有很多記憶體是空著的,沒有用!但是如果併發使用者達到1000個的時候,每個使用者分配2m那是不可能的,可能在第700個使用者進來之後,記憶體就消耗盡了!但是有的使用者可能此時此刻沒有使用2m的排序區,只使用了其中的1m,那麼我們是不是可以動態地分配一下呢?這就是自動pga記憶體管理,這個是oracle 9i release 1之後才支援。

有兩個引數可以設定: workarea_size_policy:工作區記憶體管理機制:auto :自動管理  manual:手動管理。預設auto。我們一般不修改

pga_aggregate_target:限制oracle用來進行資料排序的所有工作區總共記憶體是多少,不是乙個硬性的限制,應該說是乙個請求或者說是建議。假設這個值為500m  現在10個使用者,它就會給每個使用者分配多一點,假設10m。但是如果併發100個使用者,他可能就給每乙個使用者分配4m的空間了。這個是動態變化的!但是有乙個最小的值,不能無限縮小。當縮小到不能再小的時候,如果再增加使用者,那麼總記憶體就會超過500m。再繼續增加使用者,總記憶體可能會達到700m,如果有足夠的記憶體的話!

Oracle優化培訓筆記 第三節

2.資料庫體系結構 1.redo log buffer cache日誌檔案緩衝區log buffer 每3秒寫一次 commit提交 達到1m的時候 資料庫寫程序開始磁碟寫之前寫 髒資料讀取機制,多版本,這個版本複製在redo log緩衝區中 日誌檔案緩衝區 存放的是改變的資料 按照順序寫到磁碟中,...

Oracle第三節課總結

集合運算 一 union求並集,公共部分只有包含一次 例 求emp表ename中含 a 或含有 m select from emp whereename like a union select from emp where ename like m 二 union all求集並,公共部分只有包含二次...

編譯原理 第三節

我們知道世界上存在很多種語言 我們可以把他們分為自然語言 人們日常交流的工具 和程式語言。自然語言複雜且難以描述,程式語言結構規整,便於處理。但兩者又有共性,即核心都由語法和語義兩部分組成。那什麼是語言呢?首先來看一下字母表定義 字母表是元素的非空有窮集合。字母表包含了語言中允許出現的全部符號。例如...