您好,登錄后才能下訂單哦!
小編給大家分享一下oracle12c中控制pdb中sga與pga內存怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
Memory Management using Resource Manager
Oracle數據庫資源管理器(資源管理器)現在可以在多租戶容器數據庫(CDB)中管理可插入數據庫(PDBs)之間的內存使用。這一特性有助于在CDB中維護所有PDBs的性能,確保所有的PDBs都不會占用更多資源,從而導致其他PDBs上的資源緊縮。
前提只有滿足以下條件,才能控制PDBs的內存使用:
1、在CDB根中,noncdb_compatible初始化參數設置為false。
2、MEMORY_TARGET初始化參數沒有設置,或者在CDB根中設置為0(0)。
In 12.2, Resource Manager allows to:
1、限制特定PDB的內存使用。
2、指定為特定PDB保證的內存數量。
3、指定一個特定的PDB可以使用的最大內存數量。
along with other options such as:
指定不同的PDBs應該接收系統資源的不同份額,以便將更多的資源分配給更重要的PDBs。
限制特定PDB的CPU使用。
限制特定PDB可以使用的并行執行服務器的數量。
為不同的PDB使用PDB性能配置文件(詳細信息請參閱2171135.1)
限制連接到單個PDB的不同會話的資源使用。
限制特定PDBs生成的I/O。
監控PDBs的資源使用情況。
一、 Managing SGA for PDBs:
容器數據庫中各種PDBs的SGA需求將是不同的。如果沒有控制SGA使用的機制,活躍的PDB可以消耗SGA空間的大多數,從而導致資源限制給其他PDBs,從而影響它們的性能。
1.從12cR2中,我們可以控制在容器數據庫中PDB可以使用的最大SGA,以及需要為PDB分配的最小SGA。
SGA_TARGET參數可用于限制PDB的最大SGA大小。PDB中的SGA_TARGET設置必須小于或等于CDB根中的SGA_TARGET設置。
只有當SGA_TARGET初始化參數設置為CDB根中的非零值時,PDB中的SGA_TARGET和SGA_MIN_SIZE設置才會被強制執行。
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參數指定PDB的最小SGA大小。
SGA_MIN_SIZE參數確保了PDB的SGA永遠不會低于指定的值。
設置SGA_MIN_SIZE(最小保證SGA)參數的指導原則是:
它必須小于或等于CDB根中SGA_TARGET設置的50%。
它必須小于或等于PDB中SGA_TARGET設置的50%。
所有PDBs的SGA_MIN_SIZE設置的總和必須小于或等于CDB根中SGA_TARGET設置的50%。
說明:最佳實踐是將所有PDBs的SGA_MIN_SIZE值的總和限制為CDB的SGA大小的50%或更少。
二、 Managing PGA for PDBs
為了控制PDB的PGA使用,可以在PDB級別設置參數PGA_AGGREGATE_TARGET和PGA_AGGREGATE_LIMIT。
PGA_AGGREGATE_TARGET設置是一個目標。因此,Oracle數據庫嘗試將PGA內存使用限制在目標上,但是使用可以超過設置的次數。要指定對PGA內存使用的硬限制,可以使用PGA_AGGREGATE_LIMIT初始化參數。Oracle數據庫確保PGA大小不超過這個限制。如果數據庫超過了限制,那么數據庫就會中止具有最高可調PGA內存分配的會話的調用。
PGA_AGGREGATE_TARGET參數設置PDB的目標聚合PGA大小。
設置PGA_AGGREGATE_TARGET的指導原則是:
它必須小于或等于在CDB級別上設置的PGA_AGGREGATE_TARGET值。
它必須小于或等于CDB級別上的PGA_AGGREGATE_LIMIT初始化參數值的50%。
它必須小于或等于PDB中的PGA_AGGREGATE_LIMIT值的50%。
設置PGA_AGGREGATE_LIMIT的指導原則是:
它必須小于或等于CDB根中PGA_AGGREGATE_LIMIT的設置。
它必須大于或等于兩倍于PDB中PGA_AGGREGATE_TARGET的設置。
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內存怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。