【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
- Oracle12c多租戶CDB 與 PDB 引數檔案位置探討、查詢 CDB 與 PDB 不同值的引數Oracle
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- 12C關於CDB、PDB引數的區別和總結
- python中的變數怎樣開闢記憶體Python變數記憶體
- JVM記憶體引數配置JVM記憶體
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- AI晶片需要怎樣的記憶體?AI晶片記憶體
- innodb的幾個記憶體引數記憶體
- 【CDB】怎樣轉換non-CDB to CDB
- 【CDB】Oracle CDB/PDB常用管理命令Oracle
- Oracle記憶體引數調優Oracle記憶體
- linux下的記憶體共享引數Linux記憶體
- mysql用於分配記憶體的引數MySql記憶體
- Oracle12c中配置例項引數和修改容器資料庫(CDB)及可插拔資料庫(PDB)Oracle資料庫
- mysql記憶體引數分類大全MySql記憶體
- MySQL記憶體引數及調整MySql記憶體
- Tomcat記憶體引數調整Tomcat記憶體
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體
- 2.6.2 Overview of Flashback PDB in a CDBView
- win10家庭版修改記憶體怎麼修改Win10記憶體
- Oracle:PDB 引數管理Oracle
- 【Mysql 學習】Mysql 怎樣使用記憶體MySql記憶體
- solaris記憶體引數調整及管理記憶體
- Linux 虛擬記憶體引數配置Linux記憶體
- Oracle 10g中,記憶體引數Oracle 10g記憶體
- ORACLE11G記憶體管理引數Oracle記憶體
- oracle安裝記憶體引數說明Oracle記憶體
- Eclipse-設定JVM的記憶體引數EclipseJVM記憶體
- oracle 8i的記憶體引數設定Oracle記憶體
- Oracle CDB和PDB基本管理Oracle
- C++ 類的記憶體分配是怎麼樣的?C++記憶體
- CDB與PDB的系統關係
- Jmeter:修改記憶體配置JMeter記憶體
- 修改後的 OpenJDK 記憶體模型JDK記憶體模型
- mysql執行緒獨佔記憶體引數MySql執行緒記憶體
- 1.3.2.2.2 通過Non-CDB(非CDB模式)建立PDB模式
- 使用maven時,如何修改JVM的配置引數;maven命令執行時到底消耗多少記憶體?MavenJVM記憶體