Oracle內存調整辦法


手動修改參數:

  設置前:

     

    

  設置過程: 

     1.cmd sqlplus system賬戶登錄

    2.show parameter sga; --顯示內存分配情況

    3.alter system set memory_target = 1200M scope=spfile;

    4.alter system set sga_max_size=1000m scope=spfile; --修改占用內存的大小

    5.停止oracle服務 shutdown normal;

    6.重啟oracle服務 startup;  

    啟動成功說明設置Ok。

  設置后:

    

      

   注意:  

  oracle啟動過程比較慢,所以當startup或者重新開機時請耐心等待幾分鍾,建議5分鍾(視服務器環境而定)

  df -h /dev/shm/ 不夠時,oracle也會起不來

  sga_target < memory_target<memory_max_target

  memory_target和物理內存關系為  2*memory_target<=物理內存,參考如下:

  2g物理內存對應1200M memeory_target,sga_max_size=1000M(已測過)
  4g物理內存對應2000M memeory_target,sga_max_size=1800M(已測過)

  解釋: /dev/shm/ 是一個設備文件,不在物理硬盤而在內存里面,/dev/shm實際就是基於內存的文件系統(tmpfs),tmpfs內存應為物理內存一半;

      以上述第二條對應關系為例,metory_target設置為2000M時+tmpfs1.9G,加起來接近4G,因此物理內存設置4G時為最小內存;

      如果服務器安裝的有其他軟件根據其軟件內存占用情況請合理增加物理內存;

      /dev/shm/截圖如下:

      

 總結

  memeory_target,sga_max_size,物理內存設置不合理,oracle會起不來。

  oracle其他啟動參數 沒有十足把握切勿修改,尤其oracle啟動配置文件切勿隨意修改,否則非常尷尬,你懂得...

 參數:

  MEMORY_TARGET:動態控制SGA和PGA時,Oracle總共可以使用的共享內存大小,這個參數是動態的,因此提供給Oracle的內存總量是可以動態增大,也可以動態減小的。
  它不能超過MEMORY_MAX_TARGET參數設置的大小。默認值是0
 
  MEMORY_MAX_TARGET:這個參數定義了MEMORY_TARGET最大可以達到而不用重啟實例的值,如果沒有設置MEMORY_MAX_TARGET值,默認等於MEMORY_TARGET的值。
  使用動態內存管理時,SGA_TARGET和PGA_AGGREGATE_TARGET代表它們各自內存區域的最小設置,要讓Oracle完全控制內存管理,這兩個參數應該設置為0。
 
  SGA_TARGET、PGA_AGGREGATE_TARGET都有設置為0,才能開啟自動內存管理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM