SGA和PGA的分配原則及更改大小


1、首先介紹類型數據庫:

  • OLAP:數據倉庫系統的主要應用,支持復雜的分析操作
  • OLTP:主要是基本的、日常的事務處理,如銀行交易。

2、SGA和PGA的分配原則

  • OLTP:SGA=系統內存*0.56,PGA=SGA*(0.1~0.2)
  • OLAP:SGA=系統內存*0.48,PGA=SGA*(0.45~0.65)

3、修改SGA大小,重啟生效

  show parameter sga --查詢sga大小

  alter system set sga_max_size=4096m scope=spfile;

  alter system set sga_target=4096m scope=spfile;

  shutdown immediate --關閉數據庫

  startup --啟動數據庫

若啟動報錯:out of memory

解決方法:

1)Linux下查詢虛擬內存一個頁面的大小:getconf PAGE_SIZE,結果為:4096byte=4K

2)查看共享內存也最大數:cat /proc/sys/kernel/shmall,結果為:524288

  可得:524288*4/1024/1024=2G

  若SGA+PGA>2G,則報錯

3)修改共享內存為nG

  n*1024*1024/4K=m

  則修改共享最大內存也為m: echo "m" >/proc/sys/kernel/shmall

4、修改PGA大小,不用重啟DB

  show parameter pga;

  alter system set workarea_sizez_policy =auto scope=both;

  alter system set pga_aggregate_target=512m scope=both;

  


免責聲明!

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



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