温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CDB、PDB参数的区别有哪些

发布时间:2021-11-05 15:25:31 来源:亿速云 阅读:263 作者:iii 栏目:关系型数据库

本篇内容主要讲解“CDB、PDB参数的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CDB、PDB参数的区别有哪些”吧!

1、CDB和PDB共用一个参数文件,CDB使用spfileSID.ora,则PDB里面show parameter spfile时看到的也是spfileSID.ora,CDB使用spfile.ora,则PDB里面show parameter spfile时看到的也是spfile.ora,CDB使用initSID.ora,则PDB里面show parameter spfile时也看不到任何文件,PDB的参数信息不会出现在spfile或pfile文件中,而是直接从CDB中继承。

2、CDB执行alter system修改参数无论加不加CONTAINER,也无论CONTAINER值是ALL还是CURRENT,PDB也一样修改了;PDB执行alter system修改参数,只对该PDB生效,PDB执行alter system修改参数不能加CONTAINER = ALL,否则报错ORA-65050: Common DDLs only allowed in root,CONTAINER = ALL只能在CDB容器执行。

以下两条语句等价,因为CONTAINER的默认值是CURRENT

ALTER SYSTEM SET parameter_name=value;

ALTER SYSTEM SET parameter_name=value CONTAINER=CURRENT;

以下两条语句在CDB中等价,因为CDB修改了,PDB也一样修改了

ALTER SYSTEM SET parameter_name=value;

ALTER SYSTEM SET parameter_name=value CONTAINER=ALL;

3、PDB能够执行alter system修改的参数,必须是该参数对应的V$SYSTEM_PARAMETER.ISPDB_MODIFIABLE='TRUE',否则会报错ORA-65040: operation not allowed from within a pluggable database,PDB执行alter system修改的参数的信息存放在CDB的PDB_SPFILE$中,而不是PDB的PDB_SPFILE$中,PDB的PDB_SPFILE$表永远都是空的。PDB执行alter system修改的参数无论数据库重启、CDB重新修改、克隆、unplug等等操作,该参数在该PDB中不变继续生效,也就是说手工修改某个PDB的参数之后,那么此参数在这个PDB中就不受CDB参数控制了,再修改CDB的参数也无法修改该PDB的这个参数值,因为该参数和该PDB的信息已经存放在了数据字典中。

PDB从CDB继承参数值,除非参数已经在PDB级别被重写,PDB级别被重写的参数信息存储在CDB的PDB_SPFILE$中,PDB优先参照CDB中PDB_SPFILE$该PDB的参数,如果CDB的PDB_SPFILE$被清空,则PDB自动从CDB继承参数值。每个容器都有一个PDB_SPFILE$,即PDB_SPFILE$在CDB和PDB级别都存在,但只有CDB的PDB_SPFILE$有值,PDB的PDB_SPFILE$都是空的。

当然如果某个PDB执行alter system修改时加了scope为memory,信息不会写入CDB的PDB_SPFILE$中,PDB在重启后该参数失效,和11g一样

4、PDB执行unplug后该PDB的参数信息会写进xml文件,此时CDB的PDB_SPFILE$中还有该PDB的参数信息,show pdbs还可以看到该PDB, 也就是说当一个PDB被拔出时,它自己的初始化参数不会复制到PDB自己的PDB_SPFILE$中,仍旧存在CDB的PDB_SPFILE$中。当执行drop pluggable database后,CDB的PDB_SPFILE$看不到该PDB的记录了,该PDB的记录被清除了,show pdbs也看不到该PDB,当该PDB重新create using xml到CDB时后,该参数会重新加载回PDB并写入CDB的PDB_SPFILE$中

5、v$system_parameter可以查看到CDB和所有PDB的参数(PDB$SEED除外),每个容器以con_id区分。

问答:

1. CDB级别修改参数是否影响到PDB级别?

会,会影响到所有PDB,除非某个PDB自己单独修改过该参数

2. PDB级别修改参数是否影响到CDB级别?

不会,不会影响到CDB级别及其它PDB。

到此,相信大家对“CDB、PDB参数的区别有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI