您好,登錄后才能下訂單哦!
共享池( shared pool )是位于SGA中的一塊內存區域,主要用于緩存SQL的執行計劃。之所以叫共享,是由于該塊內存區域可以被多個會話共享同一個執行計劃。即,如果有一個會話執行了SQL之后,會在shared pool 中生成一條該語句的執行計劃,如果第二個會話使用了同樣的或者類似的語句,就可以重復利用該條執行計劃,從而實現執行計劃共享。
1 共享池是位于SGA中的一塊重要的內存區域,因為里面存放著SQL的執行計劃以及結果還有一些其它類型的文件,比如控制文件等。
2 共享池是昂貴的,維護一個共享池所耗費的系統資源是巨大的,如果共享池太大,則會耗費更多的系統資源來維護它,如果太小,則出現不夠用的情況,即本該共享的執行計劃由于共享池太小,導致執行計劃沒有被共享,而是被重復的硬解析(hard parse)從而也會導致CPU資源浪費。
3 共享池類似于系統的緩存,是用LRU的策略來進行維護。
4 為了避免內存碎片,有著大量的小程序塊。<= 4KB
select sum(bytes)/1024/1024 mb from v$sgastat where pool = 'shared pool';
通常設置sga_target 后,內部的如shared pool java pool large pool db buffer cache redo log buffer 都會進行動態調整。因此設置sga_target 即可
alter system set sga_target=160m scope = spfile
重啟數據庫生效。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。