Oracle12c CDB与PDB参数文件管理详解

需积分: 0 0 下载量 23 浏览量 更新于2024-08-03 收藏 342KB PDF 举报
"Oracle12c中的参数文件管理主要涉及到CDB(Container Database)和PDB(Pluggable Database)。在12c版本中,Oracle引入了多租户架构,使得数据库管理更为灵活。CDB是整个多租户环境的基础,而PDB则是可插入的独立数据库实例。" 在Oracle12c中,CDB和PDB的参数文件管理有其独特之处。CDB的参数文件仍然使用传统的SPFILE(System Parameter FILE),其位置可以通过`SHOW PARAMETERS SPFILE`命令查询。例如,一个CDB的SPFILE可能位于`/u01/app/oracle/product/12.1.0/db_1/dbs/spfilecdb1.ora`这样的路径下。这个文件包含了CDB级别的全局参数设置。 PDB并不直接拥有自己的SPFILE,而是从CDB中继承参数。如果PDB需要有自己的特定参数,这些参数会被存储在CDB的系统表`PDB_SPFILE$`中,并通过`con_id`来区分不同的PDB。这允许PDB在保持与CDB一致性的同时,也能定制一些个性化的配置。 当PDB被un-plug(即从CDB中移除)时,其特有的参数会保存在一个XML文件中,通常与PDB的数据文件一同存储。一旦PDB被drop或者un-plug,相关的PDB和PDB_SPFILE$信息会被清除。然而,当PDB再次被plug-in(插入)到CDB时,它的参数会重新加载,但此时PDB在un-plug过程中设置的特殊参数将不再有效。 在容器切换时,例如使用`ALTER SESSION SET CONTAINER = PDB1;`命令切换到PDB1,虽然`SHOW PARAMETERS SPFILE`仍然显示的是CDB的SPFILE路径,但此时看到的参数值实际上是PDB1当前生效的参数。 至于`SHOW PARAMETER OPEN_CURS`命令,这用于查看关于打开游标的参数设置,如`open_cursors`,它限制了数据库实例可以同时打开的最大游标数量。在CDB和PDB环境中,这个参数同样可以被单独设置,以满足不同容器的需求。 Oracle12c的CDB和PDB参数文件管理是一种层次化的模型,既保证了全局的一致性,又允许PDB有一定的灵活性。理解这种管理机制对于有效管理和优化Oracle12c的多租户环境至关重要。