以下结论皆经过实验验证,版本12.2,为方便理解,本文中CDB指的是根容器CDB$ROOT
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 para