oracle中增加pga和sga

來源:互聯網
上載者:User

標籤:one   max   ssi   family   模式   修改   10g   ram   為我   

修改oracle資料庫SGA和PGA大小

SGA的大小:一般實體記憶體20%用作作業系統保留,其他80%用於資料庫。
SGA普通資料庫可以分配40%-60%之間,PGA可以分配20%-40%之間。

1、以system的身份登入
並查看SGA資訊:
SQL>show parameter sga;
查看PGA資訊:
SQL>show parameter pga;


2、修改sga_target
SQL>alter system set sga_target=436M;

3、修改sga_max_size
SQL> alter system set sga_max_size=436M scope=spfile;
www.2cto.com
4、重啟資料庫使其生效:
SQL>shutdown immediate;
注意,重啟前一定先完成上述兩部操作,且sga_target不得大於sga_max_size,一般保持兩者相等。否則可能導致資料庫無法啟動。
SQL>startup

5、查看SGA是否生效:
SQL>show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- -----
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 436M
sga_target big integer 436M


6,查詢PGA大小
SQL> show parameter workarea
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO


SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 90M

pga_aggregate_target預設特別小隻90M
當然太小了,因為我們當前使用的是非生產環境,90M無所謂,因為我們沒有什麼串連,到底需要滿足多少串連到底該設多大呢

一般是實體記憶體的80%*20%是16%,一般生產裡面都是16G的空間,16G*16% = 2.56G 接近3G給pga

_pga_max_size參數:是每一個會話能夠分配的最大空間的數量,這個值不是固定的

SQL>select ksppinm "Name", ksppstvl/1024/1024 ||‘M‘ "Value", ksppdesc "Desc" from x$ksppi x, x$ksppcv y where x.indx = y.indx and ksppinm =‘_pga_max_size‘;
結果
Name Value Desc
------------- ------ --------------------------------------------------
_pga_max_size 200M Maximum size of the PGA memory for one process

從結果看這個參數是200M(預設值),也就是對每個session來講最大隻能分200M,對當前來講每個session最多在pga空間只能分200M


7,修改PGA的自動管理方式和大小
SQL> alter system set workarea_size_policy=auto scope=both;
SQL> alter system set pga_aggregate_target=3072m scope=both;
修改後重啟資料庫。

 

線上oracle資料庫建議記憶體修改方式:

1),系統總記憶體:64G
2),目前資料庫使用記憶體:
sga:2G
pga:90M
3),建議調整後的大小:
sga:30G
pga:10G

4),查看具體參數:

SQL> show parameter sga; --------------查看sga的地區大小
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 2G
sga_target big integer 2G


SQL> show parameter pga; --------------查看pga的預設區域大小
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 90M


SQL> show parameter workarea; ----------查看oracle記憶體地區的工作方式(確保是在自動的模式下)
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO

5),修改參數:
SQL> alter system set sga_max_size=30720M scope=spfile; ---------------先修改最大pga的大小

SQL> shutdown immediate;----------- 重啟,使得以上的修改生效
SQL> startup
SQL> alter system set sga_target=30720M; --------- 接著修改sga的大小(該大小不能超過以上設定的最大的pga的大小。否則報錯)

SQL> alter system set pga_aggregate_target=10240M scope=both;

SQL> shutdown immediate;----------- 重啟,使得以上的修改生效
SQL> startup

6),查看修改後的效果
SQL> show parameter sga;
SQL> show parameter pga;

oracle中增加pga和sga

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.