一般我們會把Oracle執行個體的記憶體用到系統實體記憶體的80%-60%(4G以上記憶體用到80%以上,2G記憶體用到60%-70%)
s=pga+sga_max_size=80%memory (對於OLTP系統pga是sga的4分之1,如果是DSS,則可以各佔一半)
db_cache_size=60%sga
shared_pool_size=sga_max_size-db_cache_size-160m 也可以設定為35%sga左右
java_pool_size=64m
large_pool_size=16m
log_buffer=2m
1:4G實體記憶體
如果為4000m
則
s=3200m
對於OLTP(
sga=s*80%=2560m
db_cache_size=1536m 訪問資料時資料的緩衝區、更新資料提交之前的髒資料等
shared_pool_size=864m 放置sql、plsql代碼(以提高代碼的共用)和資料字典資訊(提高資料字典資訊的訪問速度)
java_pool_size=64m java應用
large_pool_size=16m 備份和恢複時使用,共用伺服器時使用者session的資訊(UGA)(專用伺服器時使用者的session資訊放置在pga中)
log_buffer=2m 日誌資料緩衝、歸檔所用
PGA=640M)
對於DSS(
sga=s*50%=1600m
db_cache_size=960m 訪問資料時資料的緩衝區、更新資料提交之前的髒資料等
shared_pool_size=480m 放置sql、plsql代碼(以提高代碼的共用)和資料字典資訊(提高資料字典資訊的訪問速度)
java_pool_size=64m java應用
large_pool_size=16m 備份和恢複時使用,共用伺服器時使用者session的資訊(UGA)(專用伺服器時使用者的session資訊放置在pga中)
log_buffer=2m 日誌資料緩衝、歸檔所用
PGA=800M)
2:2G實體記憶體
如果為2000m
則
s=1200m
對於OLTP(
sga=s*80%=960m
db_cache_size=576m 訪問資料時資料的緩衝區、更新資料提交之前的髒資料等
shared_pool_size=224m 放置sql、plsql代碼(以提高代碼的共用)和資料字典資訊(提高資料字典資訊的訪問速度)
java_pool_size=64m java應用
large_pool_size=16m 備份和恢複時使用,共用伺服器時使用者session的資訊(UGA)(專用伺服器時使用者的session資訊放置在pga中)
log_buffer=2m 日誌資料緩衝、歸檔所用
PGA=240M)
對於DSS(
sga=s*50%=600m
db_cache_size=360m 訪問資料時資料的緩衝區、更新資料提交之前的髒資料等
shared_pool_size=144m 放置sql、plsql代碼(以提高代碼的共用)和資料字典資訊(提高資料字典資訊的訪問速度)
java_pool_size=32m java應用
large_pool_size=16m 備份和恢複時使用,共用伺服器時使用者session的資訊(UGA)(專用伺服器時使用者的session資訊放置在pga中)
log_buffer=2m 日誌資料緩衝、歸檔所用
PGA=240M)
3:8G實體記憶體
如果為8000m
則
s=6400m
對於OLTP(
sga=s*80%=5120m
db_cache_size=3072m 訪問資料時資料的緩衝區、更新資料提交之前的髒資料等
shared_pool_size=1864m 放置sql、plsql代碼(以提高代碼的共用)和資料字典資訊(提高資料字典資訊的訪問速度)
java_pool_size=64m java應用
large_pool_size=16m 備份和恢複時使用,共用伺服器時使用者session的資訊(UGA)(專用伺服器時使用者的session資訊放置在pga中)
log_buffer=2m 日誌資料緩衝、歸檔所用
PGA=1024M)
對於DSS(
sga=s*50%=3200m
db_cache_size=1920m 訪問資料時資料的緩衝區、更新資料提交之前的髒資料等
shared_pool_size=1120m 放置sql、plsql代碼(以提高代碼的共用)和資料字典資訊(提高資料字典資訊的訪問速度)
java_pool_size=64m java應用
large_pool_size=16m 備份和恢複時使用,共用伺服器時使用者session的資訊(UGA)(專用伺服器時使用者的session資訊放置在pga中)
log_buffer=2m 日誌資料緩衝、歸檔所用
PGA=3200M)