一般我們會把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)