1,檢視曲線,找出適合的值
一般情況下,我們選取estd_physical_read_factor為1的值為最佳,或者為sga_max_size/2~sga_max_size*2/3。
select size_for_estimate "cache size (mb)",size_factor,buffers_for_estimate "buffers",
estd_physical_read_factor est_read_factor,
estd_physical_reads estd_phy_red,estd_physical_read_time est_phy_red_t
from v$db_cache_advice
where name='default' and block_size =(select value from v$parameter where name='db_block_size');
2,檢視sga的最大值
show parameter sga_max_size;
如果大小不夠,擴大sga大小。
alter system set sga_max_size=***m scope=spfile;
再設定sga大小
alter system set sga_target=***m scope=spfile;
3,重啟資料庫
4,設定buffercache大小
alter system set db_cache_size=***m scope=both;
完成。關於scope引數的設定:
應該是scope=both和scope=spfileoracle
裡面有個叫做spfile的東西,就是動態引數檔案,裡面設定了oracle 的各種引數。
所謂的動態,就是說你可以在不關閉資料庫的情況下,更改資料庫引數,記錄在spfile裡面。
更改引數的時候,有4種scope選項,scope就是範圍。
1,scope=spfile 僅僅更改spfile裡面的記載,不更改記憶體,也就是不立即生效,而是等下次資料庫啟動生效。有一些引數只允許用這種方法更改。
2,scope=memory 僅僅更改記憶體,不改spfile。也就是下次啟動就失效了。
3,scope=both 記憶體和spfile都更改。
4,不指定scope引數,等同於scope=both。
linux記憶體中buffer和 cached的比較
經常遇到一些剛接觸linux的新手會問記憶體占用怎麼那麼多?在linux中經常發現空閒記憶體很少,似乎所有的記憶體都被系統占用了,表面感覺是記憶體不夠用了,其實不然。這是linux記憶體管理的乙個優秀特性,在這方面,區別於windows的記憶體管理。主要特點是,無論物理記憶體有多大,linux 都將...
linux 記憶體中Buffer和Cache的區別
具體怎麼理解?通過實驗發現,比較寫資料到檔案和寫資料到磁碟 比較從檔案中讀取資料和從磁碟中讀資料 實驗資料參考 簡單理解 buffer 是對磁碟資料的快取,而 cache 是檔案資料的快取。同學 geek 5258f8 的解答 理論上,乙個檔案讀首先到block buffer,然後到page cac...
記憶體中的Buffer和Cache
這個介面包含了物理記憶體mem和交換分割槽swap的使用情況,其中包括以用記憶體 快取 可用記憶體等。其中快取是buffer和cache這兩部分的總和。從字面意思理解,buffer和cache分別代表緩衝區和快取的意思,二者都是資料再記憶體中的臨時儲存。buffers是核心緩衝區用到的記憶體,對應的...