Oracle12C新特性:CDB与PDB详解

需积分: 45 4 下载量 186 浏览量 更新于2024-09-09 收藏 162KB PDF 举报
"Oracle12C新特性-CDB与PDB" Oracle 12C数据库引入了一个重大创新,即多租户环境(Multitenant Environment),其中核心概念是数据库容器(CDB)和可插拔数据库(PDB)。这一变化极大地提高了数据库的管理和灵活性。 CDB(Container Database)是Oracle 12C中的核心组件,它是一个全新的数据库结构,能够承载多个独立的、隔离的PDBs。CDB全称为Container Database,中文可以理解为数据库容器。在CDB中,所有的PDB共享相同的系统全局区(SGA)和后台进程,这大大减少了系统资源的占用,并简化了数据库的管理。CDB包含了以下主要组件: 1. **ROOT组件**:也称为CDB$ROOT,它存储Oracle提供的元数据和公共用户(Common User)。元数据包括如PL/SQL包的源代码,而公共用户是在所有容器中都可见的用户,它们的权限和对象可以在整个CDB中使用。 2. **SEED组件**:名为PDB$SEED,它是一个特殊的PDB,作为创建其他PDB的模板。用户不能直接在SEED中添加或修改对象,但可以通过克隆SEED来创建新的PDB。这一设计类似于SQL Server中的model数据库。 3. **PDBs(Pluggable Databases)**:PDBs是CDB内的独立数据库,它们可以单独进行备份、恢复和更新,而不影响整个CDB。每个PDB都有自己的数据文件,可以看作是传统的Oracle数据库实例,但它们共享CDB的资源。在CDB中,可以有多个PDB并行运行,且每个PDB都有其唯一的ID和名称。 连接到CDB数据库的操作与传统的Oracle数据库相似,可以直接通过SQL*Plus或者其他的数据库连接工具,使用适当的用户名、口令和连接字符串来访问CDB$ROOT或特定的PDB。 Oracle 12C的这一设计,借鉴了SQL Server的某些概念,但进行了独特的改进和优化,使得在大型企业环境中,数据库的管理和资源分配更加高效。通过CDB和PDB,管理员可以更轻松地进行数据库迁移、升级、备份和恢复,同时保证各个PDB之间的数据隔离和安全。这对于大型数据中心和云服务提供商来说,无疑是一个巨大的进步。