每个 CDB 有一个 SPFILE 用于存储参数。参数值与根相关联,应用于根,并且可用作所有其他容器的默认值。可以在 PDB 中为参数设置不同的值,前提是 V$PARAMETER 中的列 ISPDB_MODIFIABLE 为 TRUE 。这些值全部在 PDB 作用域内设置,在 PDB 关闭再打开后以及在 CDB 实例关闭又启动后都会相应地保留。执行克隆和移走 / 插入操作后,也会保留。其他初始化参数只能针对根设置。
PDB 的参数存储在 CDB 的 PDB_SPFILE$ 字典表中以 con_id 区别,所以, PDB 的 PDB_SPFILE$ 表是空的。
1 oracle12c中,通过增加参数表pdb_spfile$,Oracle实现了对于不同PDB参数设置区分。
2 这些非缺省的参数设置被记录在CDB中。
3 对于PDB来说,参数表中的参数在PDB打开时发挥作用。
col NAME format a25
col value$ format a30
select a.pdb_uid , b.NAME , a.name , a.value$
from pdb_spfile$ a , v$pdbs b
where a.pdb_uid = b.CON_UID
order by b.NAME ;
SELECT * FROM V$SYSTEM_PARAMETER d where d.NAME='db_create_file_dest';
SELECT * FROM cdb_tables d where d.TABLE_NAME='PDB_SPFILE$';
单实例直接更改即可。
connect sys@DMS AS SYSDBA
ALTER SYSTEM SET OPEN_cursors=1000 container=dnms;
对于集群类参数登陆到对应pdb中,进行修改:
ALTER SYSTEM SET OPEN_cursors=1000 sid=‘orcl1’
alter system set openr_cursors=300 container=all;
alter system set open_cursors=300 container=current;