(14)如何设置shared pool及SGA的大小
视频链接:
https://www.bilibili.com/video/BV1Zt411w7eQ?p=16&spm_id_from=pageDriver
1、查看执行计划
select sql_id,sql_text from v$sql where sql_text like '%count%';
select * from table(dbms_xplan.display_cursor('07hpk6hpb7pp8'));
07hpk6hpb7pp8为sql_id
2、在Oracle10g中允许有多个sub shared pool,可以设置大于1G的shared pool
设置shared pool的大小
SQL> SELECT 'Shared Pool' component,sharod_pool_size_for_ estimate estd_sp_size,estd_lc_time_saved_factor parse_time_ factor,
CASE
WHEN current_parse_time_elapsed_s + adiustment_s < 0
THEN 0
ELSE
current_parse_time_elapsed_s + adiustment_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/100
current_parse_time_elapsed_s,c.estd_lc_time_saved - a.estd_lc_ time_saved adiustment_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);
不同的shared pool尺寸下,具体的响应时间
按照以上的结果,设成164M就好了。
SELECT
shared_pool_size for_estimate "SP",estd_lc_size"EL",
estd_1c_memory_objects "ELM",estd_1c_time_saved "ELT",
estd_1c_time_saved_factor "ELTS",
estd_lc_memory_object_hits "ELMO" FROM v$shared_pool_advice;