共計 2509 個字符,預(yù)計需要花費(fèi) 7 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下 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 中維護(hù)所有 PDBs 的性能,確保所有的 PDBs 都不會占用更多資源,從而導(dǎo)致其他 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 應(yīng)該接收系統(tǒng)資源的不同份額,以便將更多的資源分配給更重要的 PDBs。
限制特定 PDB 的 CPU 使用。
限制特定 PDB 可以使用的并行執(zhí)行服務(wù)器的數(shù)量。
為不同的 PDB 使用 PDB 性能配置文件 (詳細(xì)信息請參閱 2171135.1)
限制連接到單個 PDB 的不同會話的資源使用。
限制特定 PDBs 生成的 I /O。
監(jiān)控 PDBs 的資源使用情況。
一、Managing SGA for PDBs:
容器數(shù)據(jù)庫中各種 PDBs 的 SGA 需求將是不同的。如果沒有控制 SGA 使用的機(jī)制,活躍的 PDB 可以消耗 SGA 空間的大多數(shù),從而導(dǎo)致資源限制給其他 PDBs,從而影響它們的性能。
1. 從 12cR2 中,我們可以控制在容器數(shù)據(jù)庫中 PDB 可以使用的最大 SGA,以及需要為 PDB 分配的最小 SGA。
SGA_TARGET 參數(shù)可用于限制 PDB 的最大 SGA 大小。PDB 中的 SGA_TARGET 設(shè)置必須小于或等于 CDB 根中的 SGA_TARGET 設(shè)置。
只有當(dāng) SGA_TARGET 初始化參數(shù)設(shè)置為 CDB 根中的非零值時,PDB 中的 SGA_TARGET 和 SGA_MIN_SIZE 設(shè)置才會被強(qiáng)制執(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 永遠(yuǎn)不會低于指定的值。
設(shè)置 SGA_MIN_SIZE(最小保證 SGA)參數(shù)的指導(dǎo)原則是:
它必須小于或等于 CDB 根中 SGA_TARGET 設(shè)置的 50%。
它必須小于或等于 PDB 中 SGA_TARGET 設(shè)置的 50%。
所有 PDBs 的 SGA_MIN_SIZE 設(shè)置的總和必須小于或等于 CDB 根中 SGA_TARGET 設(shè)置的 50%。
說明:最佳實(shí)踐是將所有 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è)置是一個目標(biāo)。因此,Oracle 數(shù)據(jù)庫嘗試將 PGA 內(nèi)存使用限制在目標(biāo)上,但是使用可以超過設(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 的目標(biāo)聚合 PGA 大小。
設(shè)置 PGA_AGGREGATE_TARGET 的指導(dǎo)原則是:
它必須小于或等于在 CDB 級別上設(shè)置的 PGA_AGGREGATE_TARGET 值。
它必須小于或等于 CDB 級別上的 PGA_AGGREGATE_LIMIT 初始化參數(shù)值的 50%。
它必須小于或等于 PDB 中的 PGA_AGGREGATE_LIMIT 值的 50%。
設(shè)置 PGA_AGGREGATE_LIMIT 的指導(dǎo)原則是:
它必須小于或等于 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)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!