Oracle12C数据库架构解析:CDB与PDB的概念

需积分: 10 1 下载量 16 浏览量 更新于2024-07-12 收藏 1.6MB DOCX 举报
"实验二介绍了Oracle 12C数据库的基本概念和操作,对比了12C与11G数据库的架构差异,强调了CDB、NON-CDB和PDB的概念,并详细阐述了不同体系下的数据库架构特点。" 在MySQL数据库学习的初期,了解Oracle 12C数据库是非常有价值的,因为它代表了企业级数据库的一种重要类型。Oracle 12C引入了全新的架构,主要变化在于引入了Container Database (CDB) 和 Pluggable Database (PDB) 的概念,这极大地提高了数据库管理和资源利用的灵活性。 1. Oracle 12C的架构与11G数据库的区别: - 单实例库:在11G及以前版本,每个数据库都有一个实例,实例与数据库一对一对应,形成单实例数据库。 - 多实例数据库:在集群环境中,多台服务器上可以运行多个实例,但每个实例仍然对应一个数据库。 - 12C引入的CDB:允许在一个数据库实例中容纳多个PDB,形成了多租户架构。 2. CDB、NON-CDB、PDB的概念: - CDB:是Oracle 12C引入的新概念,是包含一个或多个PDB的数据库,用于管理PDB并存储共享的系统数据。 - NON-CDB:非容器数据库,即12C之前的数据库,没有CDB的概念,每个数据库都是独立的实体。 - PDB:可插拔数据库,可以独立创建、备份、恢复,并且可以在CDB中插入或拔出,提供更好的隔离性和管理效率。 3. CDB的体系架构: - CDB$ROOT:根容器,用于管理系统级别的对象,如用户、角色、权限等。 - PDB$SEED:种子容器,提供模板用于快速创建新的PDB,只读。 - 用户容器(PDB):实际存储用户数据的容器,PDB之间相互独立。 4. CDB与NON-CDB的架构区别: - 在11G中,每个数据库都有自己独立的数据库文件、控制文件和日志文件,而在12C的CDB中,这些文件是共享的,位于CDB$ROOT中,而PDB则只存储自己的数据文件。 5. 资源管理与切换: - 在12C中,通过CDB可以更高效地管理多个PDB,而数据库之间的切换主要通过设置ORACLE_SID环境变量实现。 - /etc/oratab文件记录了所有数据库的SID,切换时更新此文件或直接设置环境变量即可。 通过这个实验,MySQL数据库初学者可以了解到Oracle 12C在数据库管理上的创新,以及这些变化如何改善了数据库的性能、安全性和可维护性。理解这些概念对于扩展数据库知识领域和提升数据库管理技能至关重要。