【CDB】怎樣修改PDB的記憶體引數
多租戶環境中的記憶體引數管理(CDB 和 PDB )
1. 哪些引數可以在PDB 中修改
隨著多租戶資料庫的數顯,容器資料庫(CDB )和相關的可插拔資料庫( PDB )之間的記憶體管理仍然出現著一些問題。在處理 12c 及以上版本的多租戶資料庫時,意味著 CDB 中的特定引數的值被一個或多個 pdb 繼承。有些引數可以在 PDB 級別修改,並覆蓋從 CDB 繼承的內容。要確定哪些引數可以從 PDB 中修改, v$system_parameter 檢視中的 ispdb_modifiable 列必須為 true 。如果 ispdb_modifiable 為 true ,則該引數從 CDB 繼承該值,直到 PDB 使用 alter system set 命令修改該值。
2. 修改引數的方式
1) 連線到PDB
SQL> ALTER SESSION SET CONTAINER= PDB1 ;
2) 進入到PDB 後,我們需要知道哪些引數是可以修改的,可以使用下面的 SQL 語句找到這些引數, ispdb_modifiable 必須為 true 。
SQL> SELECT NAME FROM V$SYSTEM_PARAMETER
WHERE ISPDB_MODIFIABLE = 'TRUE'
ORDER BY NAME;
3) 使用以下命令進行修改
SQL> ALTER SYSTEM SET PGA_AGGREGATE_TARGET= 800M SCOPE=SPFILE;
(由於修改的是PDB1 的靜態引數,需要重啟 PDB1 生效。注意修改單個 PDB 的引數,只需要重啟相應 PDB 即可)
現在已經修改了引數,我們可以在PDB 級別的 v$parameter 檢視上看到這個更改。如果你想看到的引數的設定範圍( CDB or PDB ),我們可以使用檢視 v$system_paramete 。下面的 SQL 將顯示 CDB 和 PDB 的 PGA_AGGREGATE_TARGET 引數(注意 con_id 列)
4) 進入到CDB
SQL> alter session set container=cdb$root;
5) 執行以下查詢
SQL> col name for a30
SQL> col value for a 20
SQL> col DISPLAY_VALUE for a 10
SQL> set linesize 200
SQL> SELECT NAME, VALUE, DISPLAY_VALUE, CON_ID
FROM V$SYSTEM_PARAMETER
WHERE NAME = 'pga_aggregate_target'
ORDER BY NAME;
NAME VALUE DISPLAY_VA CON_ID
------------------------------ -------------------- ---------- ----------
pga_aggregate_target 1666187264 1589M 0
pga_aggregate_target 838860800 800M 3
上面結果顯示,0 號容器( CDB )的 PGA 為 1589M ,3 號容器的 PGA 為 800M 。
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
5 PDB3 READ WRITE NO
再結合show pdbs 命令,可知 3 號容器就是修改的 PDB1 容器
3. 總結
可以透過多個初始化引數控制PDB 的記憶體使用情況。當我們以 PDB 作為當前容器設定初始化引數時,這些引數控制當前的 PDB 的記憶體使用情況。當為一個 PDB 設定了這些引數中的一個或多個時,請確保 CDB 和其他 PDB 有足夠的記憶體可用。
當我們在PDB 級別修改完 pga_aggregate_target 引數後,需要重啟該PDB 生效。然後我們可以嘗試在 PDB 級別建立 pfile
SQL> alter session set container=pdb1;
SQL> create pfile='/home/oracle/initpdb1.ora' from spfile;
$ cat /home/oracle/ initpdb1.ora
*.pga_aggregate_target=838860800
生成的pfile 內容僅有我們修改的一行。
---- end ----
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529886/viewspace-2749437/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- 12C關於CDB、PDB引數的區別和總結
- JVM記憶體引數配置JVM記憶體
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- AI晶片需要怎樣的記憶體?AI晶片記憶體
- 【CDB】Oracle CDB/PDB常用管理命令Oracle
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體
- 【CDB】怎樣轉換non-CDB to CDB
- Linux 虛擬記憶體引數配置Linux記憶體
- mysql記憶體引數分類大全MySql記憶體
- 2.6.2 Overview of Flashback PDB in a CDBView
- Oracle:PDB 引數管理Oracle
- solaris記憶體引數調整及管理記憶體
- Tomcat修改記憶體配置Tomcat記憶體
- C++ 類的記憶體分配是怎麼樣的?C++記憶體
- win10家庭版修改記憶體怎麼修改Win10記憶體
- 1.3.2.2.2 通過Non-CDB(非CDB模式)建立PDB模式
- 3.1.2 CDB和PDB的職責分離
- 【12c cdb pdb】實驗
- 1.3.2.2.2. 通過Non-CDB(非CDB模式)建立PDB模式
- 在 4GB 實體記憶體的機器上,申請 8G 記憶體會怎麼樣?記憶體
- ptrace attach 修改程序記憶體記憶體
- oracle 12c PDB隨CDB啟動和連結PDB的方式Oracle
- 【Java基礎】函式引數為物件時的記憶體管理Java函式物件記憶體
- oracle 19c CDB vs pdb 建立Oracle
- 【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式Oracle
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(一)什麼是CDB與PDB?Oracle
- win10怎樣刪虛擬記憶體_Win10虛擬記憶體如何關閉Win10記憶體
- 超大記憶體環境下的Oracle RAC引數設定建議記憶體Oracle
- 12C關於CDB、PDB的官方解釋
- oracle12c之 控制pdb中sga 與 pga 記憶體使用Oracle記憶體
- [20180604]在記憶體修改資料(bbed).txt記憶體
- 達夢記憶體調整及修改方法記憶體
- url 帶引數的介面怎樣自動化
- 多租戶:在Oracle12.2中 從Non-CDB遷移到PDB,從PDB遷移另一個CDB中Oracle
- 怎樣計算Bitmap的記憶體佔用和Bitmap載入優化記憶體優化
- Linux記憶體是怎麼工作的?Linux記憶體
- Bulk 異常引發的 Elasticsearch 記憶體洩漏Elasticsearch記憶體