溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle12c中控制pdb中sga與pga內(nèi)存怎么用

發(fā)布時間:2021-11-09 14:40:43 來源:億速云 閱讀:419 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

小編給大家分享一下oracle12c中控制pdb中sga與pga內(nèi)存怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

Memory Management using Resource Manager

Oracle數(shù)據(jù)庫資源管理器(資源管理器)現(xiàn)在可以在多租戶容器數(shù)據(jù)庫(CDB)中管理可插入數(shù)據(jù)庫(PDBs)之間的內(nèi)存使用。這一特性有助于在CDB中維護所有PDBs的性能,確保所有的PDBs都不會占用更多資源,從而導致其他PDBs上的資源緊縮。


前提只有滿足以下條件,才能控制PDBs的內(nèi)存使用:
1、在CDB根中,noncdb_compatible初始化參數(shù)設(shè)置為false。
2、MEMORY_TARGET初始化參數(shù)沒有設(shè)置,或者在CDB根中設(shè)置為0(0)。

In 12.2, Resource Manager allows to:

1、限制特定PDB的內(nèi)存使用。
2、指定為特定PDB保證的內(nèi)存數(shù)量。
3、指定一個特定的PDB可以使用的最大內(nèi)存數(shù)量。


along with other options such as:

指定不同的PDBs應該接收系統(tǒng)資源的不同份額,以便將更多的資源分配給更重要的PDBs。
限制特定PDB的CPU使用。
限制特定PDB可以使用的并行執(zhí)行服務器的數(shù)量。
為不同的PDB使用PDB性能配置文件(詳細信息請參閱2171135.1)
限制連接到單個PDB的不同會話的資源使用。
限制特定PDBs生成的I/O。
監(jiān)控PDBs的資源使用情況。


一、 Managing SGA for PDBs:

容器數(shù)據(jù)庫中各種PDBs的SGA需求將是不同的。如果沒有控制SGA使用的機制,活躍的PDB可以消耗SGA空間的大多數(shù),從而導致資源限制給其他PDBs,從而影響它們的性能。

1.從12cR2中,我們可以控制在容器數(shù)據(jù)庫中PDB可以使用的最大SGA,以及需要為PDB分配的最小SGA。
SGA_TARGET參數(shù)可用于限制PDB的最大SGA大小。PDB中的SGA_TARGET設(shè)置必須小于或等于CDB根中的SGA_TARGET設(shè)置。
只有當SGA_TARGET初始化參數(shù)設(shè)置為CDB根中的非零值時,PDB中的SGA_TARGET和SGA_MIN_SIZE設(shè)置才會被強制執(zhí)行。

alter session set container=PDB1;
ALTER SYSTEM SET SGA_TARGET = 1500M SCOPE = BOTH;
ALTER SYSTEM SET SGA_MIN_SIZE = 500M SCOPE = BOTH;


2.可以使用SGA_MIN_SIZE參數(shù)指定PDB的最小SGA大小。
SGA_MIN_SIZE參數(shù)確保了PDB的SGA永遠不會低于指定的值。

設(shè)置SGA_MIN_SIZE(最小保證SGA)參數(shù)的指導原則是:
它必須小于或等于CDB根中SGA_TARGET設(shè)置的50%。
它必須小于或等于PDB中SGA_TARGET設(shè)置的50%。
所有PDBs的SGA_MIN_SIZE設(shè)置的總和必須小于或等于CDB根中SGA_TARGET設(shè)置的50%。

說明:最佳實踐是將所有PDBs的SGA_MIN_SIZE值的總和限制為CDB的SGA大小的50%或更少。

二、 Managing PGA for PDBs

為了控制PDB的PGA使用,可以在PDB級別設(shè)置參數(shù)PGA_AGGREGATE_TARGET和PGA_AGGREGATE_LIMIT。
PGA_AGGREGATE_TARGET設(shè)置是一個目標。因此,Oracle數(shù)據(jù)庫嘗試將PGA內(nèi)存使用限制在目標上,但是使用可以超過設(shè)置的次數(shù)。要指定對PGA內(nèi)存使用的硬限制,可以使用PGA_AGGREGATE_LIMIT初始化參數(shù)。Oracle數(shù)據(jù)庫確保PGA大小不超過這個限制。如果數(shù)據(jù)庫超過了限制,那么數(shù)據(jù)庫就會中止具有最高可調(diào)PGA內(nèi)存分配的會話的調(diào)用。


PGA_AGGREGATE_TARGET參數(shù)設(shè)置PDB的目標聚合PGA大小。

設(shè)置PGA_AGGREGATE_TARGET的指導原則是:
它必須小于或等于在CDB級別上設(shè)置的PGA_AGGREGATE_TARGET值。
它必須小于或等于CDB級別上的PGA_AGGREGATE_LIMIT初始化參數(shù)值的50%。
它必須小于或等于PDB中的PGA_AGGREGATE_LIMIT值的50%。

設(shè)置PGA_AGGREGATE_LIMIT的指導原則是:
它必須小于或等于CDB根中PGA_AGGREGATE_LIMIT的設(shè)置。
它必須大于或等于兩倍于PDB中PGA_AGGREGATE_TARGET的設(shè)置。

alter session set container=PDB1;
ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 700M SCOPE = BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 300M SCOPE = BOTH;


-- 查看 PDB 的 current SGA 與 PGA 的使用情況
COLUMN PDB_NAME FORMAT A10;
SELECT r.CON_ID, p.PDB_NAME, r.SGA_BYTES/1024/1024 SGA_M, r.PGA_BYTES/1024/1024 PGA_M, 
r.BUFFER_CACHE_BYTES/1024/1024 BUFFER_CACHE_M, r.SHARED_POOL_BYTES/1024/1024 SHARED_POOL_M 
FROM V$RSRCPDBMETRIC r, CDB_PDBS p WHERE r.CON_ID = p.CON_ID;

CON_ID PDB_NAME SGA_M PGA_M BUFFER_CACHE_M SHARED_POOL_M
---------- ---------- ---------- ---------- -------------- -------------
3 PDB01 34.3150578 7.44008255 28.828125 5.48693275

看完了這篇文章,相信你對“oracle12c中控制pdb中sga與pga內(nèi)存怎么用”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI