日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle12c多个pdb,Oracle 12c 多租户专题|12cR2中PDB内存资源管理

發布時間:2025/4/16 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle12c多个pdb,Oracle 12c 多租户专题|12cR2中PDB内存资源管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

沃趣科技 ?周天鵬

原文鏈接

在12.2之前的版本,我們根本沒有辦法控制一個單獨的PDB能使用的內存總量。導致的結果就是“一個糟糕的鄰居”可能占用大量內存從而導致同一個實例下其他PDB的性能下降。在Oracle 12.2中,你可以控制某單個PDB能使用的內存總量。

如果你的CDB中只有一個PDB,那么你就不需要做這些限制,因為你本來就想讓這個單獨的PDB用掉實例的所有內存。

PDB內存參數

下列參數都可以在PDB級別進行設置:

DB_CACHE_SIZE : The minimum buffer cache size for the PDB.

SHARED_POOL_SIZE : The minimum shared pool size for the PDB.

PGA_AGGREGATE_LIMIT : The maximum PGA size for the PDB.

PGA_AGGREGATE_TARGET : The target PGA size for the PDB.

SGA_MIN_SIZE : The minimum SGA size for the PDB.

SGA_TARGET : The maximum SGA size for the PDB.

關于哪些值可以設置也有一些限制,官方文檔中給出了詳細的解釋(),總結如下:

CDB中的NONCDB_COMPATIBLE參數必須設為FALSE

CDB中的MEMORY_TARGET參數未設置或者為0

獨立的參數會有不同的最大值,來防止你給一個PDB分配過量的內存。如果你嘗試設置一個錯誤的值將會報錯。

設置PDB內存參數

設置PDB內存參數的過程和設置一個普通實例的存儲參數并沒有什么區別。下面的例子是修改SGA_TARGET參數。

檢查CDB的當前設置:

CONN / AS SYSDBA

SHOW PARAMETER sga_target;

NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? VALUE

------------------------------------ ----------- ------------------------------

sga_target ? ? ? ? ? ? ? ? ? ? ? ? ? big integer 2544M

SQL>

檢查PDB的當前設置:

CONN / AS SYSDBA

ALTER SESSION SET CONTAINER=pdb1;

SHOW PARAMETER sga_target;

NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? VALUE

------------------------------------ ----------- ------------------------------

sga_target ? ? ? ? ? ? ? ? ? ? ? ? ? big integer 0

SQL>

設置PDB的SGA_TARGET參數:

SQL> ALTERSYSTEMSET sga_target=1G SCOPE=BOTH;Systemaltered.

SQL> SHOW PARAMETER sga_target;

NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? VALUE

------------------------------------ ----------- ------------------------------

sga_target ? ? ? ? ? ? ? ? ? ? ? ? ? big integer 1G

SQL>

當我們嘗試給PDB制定一個比所處的CDB更大的SGA時將會報如下的錯誤:

SQL> ALTERSYSTEMSET sga_target=3G SCOPE=BOTH;

ALTERSYSTEMSET sga_target=3G SCOPE=BOTH

*ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-56747: invalid value 3221225472 for parameter sga_target; must be smaller

than parameter sga_target of the root container

SQL>

如果你不再想控制這個參數的值,你可以把它設置為0或者reset掉。

ALTERSYSTEMSET sga_target=0 SCOPE=BOTH;

ALTERSYSTEMRESET sga_target;

監控PDB的內存使用

Oracle提供了一些視圖來監控PDB的資源使用(例如CPU、I/O、內存)。每個視圖包含相同的信息,只是保留時間不同。

V$RSRCPDBMETRIC:一個PDB對應一條記錄,只保留最近一分鐘的數據

V$RSRCPDBMETRIC_HISTORY:一個PDB對應61行記錄,保留最近60分鐘的數據

DBA_HIST_RSRC_PDB_METRIC:AWR快照,保留時間基于AWR的保留時間

例子如下:

CONN / AS SYSDBASET LINESIZE 150COLUMN pdb_name FORMAT A10COLUMN begin_time FORMAT A26COLUMN end_time FORMAT A26ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS'; ALTER SESSION SET NLS_TIMESTAMP_FORMAT='DD-MON-YYYY HH24:MI:SS.FF'; -- Last sample per PDB.SELECT r.con_id,

p.pdb_name,

r.begin_time,

r.end_time,

r.sga_bytes,

r.pga_bytes,

r.buffer_cache_bytes,

r.shared_pool_bytesFROM ? v$rsrcpdbmetric r,

cdb_pdbs pWHERE ?r.con_id = p.con_idORDER BY p.pdb_name;-- Last hours samples for PDB1SELECT r.con_id,

p.pdb_name,

r.begin_time,

r.end_time,

r.sga_bytes,

r.pga_bytes,

r.buffer_cache_bytes,

r.shared_pool_bytesFROM ? v$rsrcpdbmetric_history r,

cdb_pdbs pWHERE ?r.con_id = p.con_idAND ? ?p.pdb_name = 'PDB1'ORDER BY r.begin_time;-- All AWR snapshot information for PDB1.SELECT r.snap_id,

r.con_id,

p.pdb_name,

r.begin_time,

r.end_time,

r.sga_bytes,

r.pga_bytes,

r.buffer_cache_bytes,

r.shared_pool_bytesFROM ? dba_hist_rsrc_pdb_metric r,

cdb_pdbs pWHERE ?r.con_id = p.con_idAND ? ?p.pdb_name = 'PDB1'ORDER BY r.begin_time;

總結

以上是生活随笔為你收集整理的oracle12c多个pdb,Oracle 12c 多租户专题|12cR2中PDB内存资源管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。