Oracle设置Shared Pool的大小

2014-11-24 17:10:56 · 作者: · 浏览: 0

Shared Pool的大小设置规则如下:


1.查到shared pool设置的合理值,语句如下:


select 'Shared Pool' component,


shared_pool_size_for_estimate estd_sp_size,


estd_lc_time_saved_factor parse_time_factor,


case


when current_parse_time_elapsed_s + adjustment_s < 0 THEN


0


ELSE


current_parse_time_elapsed_s + adjustment_s


END response_time


FROM (select shared_pool_size_for_estimate,


shared_pool_size_factor,


estd_lc_time_saved_factor,


a.estd_lc_time_saved,


e.VALUE / 100current_parse_time_elapsed_s,


c.estd_lc_time_saved - a.estd_lc_time_saved adjustment_s


from v$shared_pool_advice a,


(select * from v$sysstat where NAME = 'parse time elapsed') e,


(select estd_lc_time_saved


from v$shared_pool_advice


where shared_pool_size_factor = 1) c);


2.设置上个SQL语句中查到的PARSE_TIME_FACTOR首次等于1的记录所在行的ESTD_SP_SIZE的值为shared pool。


3.设置语句如下:


alter system set shared_pool_size=XXX scope=spfile;或者alter system set shared_pool_size=XXX scope=both;