天天看點

oracle shared_pool_size 0,Oracle shared_pool_reserved_size參數設定說明

進入SQLPLUS,查詢shared_pool,往往看到結果如下:

SQL> show parameter shared_pool

NAME                                    TYPE              VALUE------------------------------------ ----------- ------------------------------shared_pool_reserved_size           big integer         20971520shared_pool_size                    big integer         419430400

在Oracle中,shared_pool包含着兩部分,其中一個參數是:shared_pool_reserved_size。此參數是用來指定保留的共享池空間大小,用于滿足将來的大的連續的共享池空間請求。當共享池出現過多碎片,請求大塊空間會導緻Oracle大範圍的查找并釋放共享池記憶體來滿足請求,由此可能會帶來較為嚴重的性能下降,通過設定合适的shared_pool_reserved_size參數,結合shared_pool_reserved_min_alloc參數可以用來避免由此導緻的性能下降。

這個參數理想值應該大到足以滿足任何對RESERVED LIST的記憶體請求,而無需資料庫從共享池中重新整理對象。這個參數的預設值是shared_pool_size的5%,通常這個參數的建議值為shared_pool_size參數的10%~20%大小,最大不得超過shared_pool_size的50%。(超過50%可能會導緻資料庫無法啟動,要注意!)

rac系統修改操作(以下修改推薦在沒有啟用SGA的資料庫上,啟用SGA的不推薦這樣修改)

1.修改第一個節點:

alter system set shared_pool_size=5000M  sid='rac1' scope=spfile;

alter system set shared_pool_reserved_size=500M  sid='rac1' scope=spfile;

shutdown immediate

startup

2.當第一個節點啟動後,修改第2個節點:

alter system set shared_pool_size=5000M sid='rac2' scope=spfile;

alter system set shared_pool_reserved_size=500M  sid='rac2' scope=spfile;

shutdown immediate

startup