深入理解 Oracle CDB(容器数据库)

📅 2026/7/14 22:29:28
深入理解 Oracle CDB(容器数据库)
什么是 ORCLCDBORCLCDB是 Oracle 数据库 12c 及更高版本中引入的容器数据库Container DatabaseCDB的默认或常见服务名/数据库名称。它代表了 Oracle 多租户架构的核心是管理一个或多个可插拔数据库Pluggable DatabasePDB的根容器。CDB 与 PDB 架构解析在传统的非 CDB 架构中每个数据库实例对应一个独立的数据库。而 CDB 架构将数据库划分为两个逻辑层次CDB容器数据库作为根容器Root包含整个数据库的元数据和公共用户例如 ORCLCDB。它是所有 PDB 的父容器。PDB可插拔数据库承载实际应用数据和用户的可移植容器。一个 CDB 中可以包含多个 PDB如 ORCLPDB1, SALESPDB, HRPDB。这种架构类似于一艘航空母舰CDB搭载多架战斗机PDB实现了资源的集中管理与隔离。ORCLCDB 的核心组件一个典型的 ORCLCDB 包含以下关键组件根容器CDB$ROOT存储整个 CDB 的元数据、公共用户和系统对象。种子 PDBPDB$SEED一个只读模板用于快速克隆创建新的 PDB。一个或多个用户 PDB如 ORCLPDB1用于运行实际业务。连接 ORCLCDB 与 PDB连接时需指定正确的服务名连接到 CDB根容器服务名使用ORCLCDB通常用于 DBA 进行全局管理。sqlplus sysORCLCDB as sysdba连接到特定 PDB服务名使用 PDB 的名称如ORCLPDB1。sqlplus scott/tigerORCLPDB1ORCLCDB 的管理与操作查看容器信息-- 查看当前容器 SHOW CON_NAME; -- 查看 CDB 中的所有容器 SELECT CON_ID, NAME, OPEN_MODE FROM V$CONTAINERS;在容器间切换-- 切换到根容器 ALTER SESSION SET CONTAINER CDB$ROOT; -- 切换到指定的 PDB ALTER SESSION SET CONTAINER ORCLPDB1;创建新的 PDB-- 从种子 PDB 克隆 CREATE PLUGGABLE DATABASE NEWPDB ADMIN USER pdbadmin IDENTIFIED BY password FILE_NAME_CONVERT (/opt/oracle/oradata/ORCLCDB/pdbseed/, /opt/oracle/oradata/ORCLCDB/NEWPDB/); -- 打开新 PDB ALTER PLUGGABLE DATABASE NEWPDB OPEN;ORCLCDB 的优势资源整合与节约多个 PDB 共享一个数据库实例SGA、后台进程降低内存和 CPU 开销。快速部署与迁移PDB 可以像文件一样被克隆、拔插和移动极大简化了数据库的供应和迁移。简化管理与升级只需对 CDB 进行一次补丁或升级即可惠及所有 PDB。良好的隔离性每个 PDB 拥有独立的数据文件、用户和权限逻辑上相互隔离。总结ORCLCDB不仅是 Oracle 多租户架构的入口和核心更代表了数据库资源管理向云化、服务化演进的重要方向。理解 CDB/PDB 模型是高效管理和运维现代 Oracle 数据库的关键。