我通过以下语句来得到库缓冲区的失败率:
select sum(pins) "total pins",sum(reloads) "total reloads",sum(reloads)/sum(pins)*100 libcache from v$librarycache
--libcache :失败率为小于1%通过以下语句来得到库缓冲区的成功率
select (sum(pins-reloads))/sum(pins) "lib cache" from v$librarycache
--lib cache成功率大于99%
(如失败率大于1%(成功率小于99%),则需要增加到shared_pool_size的值)通过这个失败率,成功率来看不需要增加shared_pool_size的值
但是通过shared_pool_size余留的内存大小及空闲率又要增加shared_pool_size的字节数
select to_number(v$parameter.value) value,v$sgastat.bytes,
(v$sgastat.bytes/v$parameter.value)*100 "percent free"
from v$sgastat,v$parameter
where v$sgastat.name='free memory' and v$parameter.name='shared_pool_size';
--percent free小于20%,值为15.9861066
(如果percent free小于20%,应增加共享池参数shared_pool_size的字节数)请问这是为何?