cdb内存 oracle,【CDB】怎样修改PDB的内存参数
多租戶環(huán)境中的內(nèi)存參數(shù)管理(CDB
和
PDB
)
1.
哪些參數(shù)可以在PDB
中修改
隨著多租戶數(shù)據(jù)庫的數(shù)顯,容器數(shù)據(jù)庫(CDB
)和相關(guān)的可插拔數(shù)據(jù)庫(
PDB
)之間的內(nèi)存管理仍然出現(xiàn)著一些問題。在處理
12c
及以上版本的多租戶數(shù)據(jù)庫時,意味著
CDB
中的特定參數(shù)的值被一個或多個
pdb
繼承。有些參數(shù)可以在
PDB
級別修改,并覆蓋從
CDB
繼承的內(nèi)容。要確定哪些參數(shù)可以從
PDB
中修改,
v$system_parameter
視圖中的
ispdb_modifiable
列必須為
true
。如果
ispdb_modifiable
為
true
,則該參數(shù)從
CDB
繼承該值,直到
PDB
使用
alter system set
命令修改該值。
2.
修改參數(shù)的方式
1)
連接到PDB
SQL> ALTER SESSION SET CONTAINER=
PDB1
;
2)
進入到PDB
后,我們需要知道哪些參數(shù)是可以修改的,可以使用下面的
SQL
語句找到這些參數(shù),
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
的靜態(tài)參數(shù),需要重啟
PDB1
生效。注意修改單個
PDB
的參數(shù),只需要重啟相應(yīng)
PDB
即可)
現(xiàn)在已經(jīng)修改了參數(shù),我們可以在PDB
級別的
v$parameter
視圖上看到這個更改。如果你想看到的參數(shù)的設(shè)置范圍(
CDB or PDB
),我們可以使用視圖
v$system_paramete
。下面的
SQL
將顯示
CDB
和
PDB
的
PGA_AGGREGATE_TARGET
參數(shù)(注意
con_id
列)
4)
進入到CDB
SQL> alter session set container=cdb$root;
5)
執(zhí)行以下查詢
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
上面結(jié)果顯示,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
再結(jié)合show pdbs
命令,可知
3
號容器就是修改的
PDB1
容器
3.
總結(jié)
可以通過多個初始化參數(shù)控制PDB
的內(nèi)存使用情況。當(dāng)我們以
PDB
作為當(dāng)前容器設(shè)置初始化參數(shù)時,這些參數(shù)控制當(dāng)前的
PDB
的內(nèi)存使用情況。當(dāng)為一個
PDB
設(shè)置了這些參數(shù)中的一個或多個時,請確保
CDB
和其他
PDB
有足夠的內(nèi)存可用。
當(dāng)我們在PDB
級別修改完
pga_aggregate_target
參數(shù)后,需要重啟該PDB
生效。然后我們可以嘗試在
PDB
級別創(chuàng)建
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
內(nèi)容僅有我們修改的一行。
---- end ----
總結(jié)
以上是生活随笔為你收集整理的cdb内存 oracle,【CDB】怎样修改PDB的内存参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淘气值怎么瓜分红包 淘气值瓜分红包方法【
- 下一篇: 台式电脑如何安装双系统win7和win1