Oracle提供了一系列内存使用大小的建议器(Advisor),它们的工作原理是,Oracle自己构造一个模拟池,比如一个模拟的SGA区,通过动态修改它的大小,然后根据当前的业务情况,模拟执行一些操作,来观察SGA的使用率和SGA改变之间的关系,找到一个最优的平衡点。其他的建议器也是这个原理。
这些建议器给我们提供了内存资源的最优设置信息:
V$SGA_TARGET_ADVICE (查看SGA区大小的建议值)
V$DB_CACHE_ADVICE (查看数据缓存区大小建议值)
V$SHARED_POOL_ADVICE(查看共享池大小建议值)
V$JAVA_POOL_ADVICE(查看Java池大小建议值)
V$STREAMS_POOL_ADVICE(查看流池大小建议值)
V$PGA_TARGET_ADVICE(查看PGA区大小的建议值)
其中:
一、V$SGA_TARGET_ADVICE (查看SGA区大小的建议值)
指标含义:
SGA Target Size(M) 估算的SGA的大小
SGA Size Factor SGA大小的影响因子
Est DB time(s) 估算的SGA大小计算出的DB Time,即用户操作所用的时间
Est Physical Reads 物理读次数
二、V$SHARED_POOL_ADVICE(查看共享池大小建议值)
该列表主要看Est_LC_Time_saved_Factor列,它表示每一个模拟的Share Pool大小对重新将对象读入共享池的影响情况,如果这个值的变化很小或者不变时,增加Share Pool的大小就没有意义。