Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • 数据库概述
  • MySQL

  • Redis

  • Oracle

    • Oracle概述
    • Oracle版本与部署选型
    • Oracle安装配置与客户端工具
    • Oracle体系结构与实例数据库
    • Oracle内存结构SGA与PGA
    • Oracle进程与后台任务
    • Oracle存储结构与表空间
    • Oracle数据类型与字符集
    • Oracle Schema对象与数据建模
    • SQL基础与Oracle语法特性
    • PLSQL基础与包过程函数
    • Oracle事务与一致性读
    • Oracle锁闩锁与并发控制
    • Undo Redo与归档日志
    • Oracle索引结构与设计
    • 执行计划与DBMS_XPLAN
    • 优化器统计信息与SQL调优
    • AWR ASH与性能诊断
    • Oracle等待事件与故障排查
    • RMAN备份恢复与闪回技术
    • Data Guard与灾备架构
    • RAC集群与服务高可用
    • ASM存储与文件管理
    • Multitenant CDB与PDB
      • 1. 学习目标与定位
      • 2. 核心概念总览
      • 3. 底层原理详解
      • 4. 关键机制拆解
        • 4.1. CDB、Root、Seed 与 PDB
        • 4.2. 用户、权限与对象边界
        • 4.3. 克隆、迁移和刷新
        • 4.4. 资源管理与备份恢复
      • 5. 功能模块细节补充
        • 5.1. CDB
        • 5.2. PDB
        • 5.3. CDB Root
        • 5.4. PDB Seed
        • 5.5. Application Container
        • 5.6. PDB Clone
        • 5.7. PDB Relocate
        • 5.8. Resource Manager
        • 5.9. PDB Backup
      • 6. 开发人员重点提醒
      • 7. 运维人员重点提醒
      • 8. 典型问题与排查
      • 9. 实践建议与检查清单
      • 10. 阶段小结
    • 分区表与VLDB实践
    • 数据泵SQLLoader与数据迁移
    • Oracle安全审计与权限治理
    • Oracle开发连接池与JDBC实践
    • JSON向量与多模型能力
    • Oracle运维规范与面试设计题
目录

Multitenant CDB与PDB

Multitenant 是现代 Oracle 的基础架构之一,通过 CDB、PDB、Root、Seed 和服务隔离多个数据库。它改变了升级、补丁、备份、资源隔离和租户治理方式。

# 1. 学习目标与定位

维度 内容
难度层级 架构到运维
核心目标 从底层运行链路理解本篇主题,能把概念、SQL、指标、故障和工程取舍连起来
适合人群 开发人员关注连接到正确 PDB 和 Schema;运维人员关注 CDB/PDB 生命周期、资源、备份、克隆和补丁。

# 2. 核心概念总览

Multitenant CDB与PDB
├─ CDB
├─ PDB
├─ CDB Root
├─ PDB Seed
├─ Application Container
├─ PDB Clone
├─ PDB Relocate
├─ Resource Manager
└─ PDB Backup

这张图只用来定位本章范围。正文不会把每个词机械拆成固定问答,而是按 Oracle 的真实运行机制解释它们之间如何协作、在哪里影响开发、在哪里影响运维。

# 3. 底层原理详解

CDB 是容器数据库,包含 CDB Root、Seed 和多个 PDB。Root 保存公共元数据,Seed 用于快速创建新 PDB,PDB 承载应用数据和 Schema。

Multitenant 把多个数据库整合到一个实例和一套基础设施中,提升运维效率,但也引入资源隔离、权限边界、备份恢复粒度和连接治理问题。

应用连接必须指向具体 PDB 服务。连到 CDB$ROOT 执行业务对象操作通常是错误的。公共用户、本地用户、公共角色、本地角色的边界必须清楚。

# 4. 关键机制拆解

# 4.1. CDB、Root、Seed 与 PDB

CDB Root 保存公共数据字典和公共组件,PDB Seed 是只读模板,PDB 是应用实际运行的容器。每个 PDB 看起来像独立数据库,但共享实例资源。

开发人员要确认连接服务对应的 PDB。很多“表不存在”或“权限不足”问题,本质是连接到了错误容器。

# 4.2. 用户、权限与对象边界

Common User 可跨容器存在,Local User 只在某个 PDB 中存在。权限授予也有公共和本地区别。

权限设计要避免公共账号滥用。多租户场景下,错误的公共授权会放大影响范围。

# 4.3. 克隆、迁移和刷新

PDB Clone 可以快速复制环境,PDB Relocate 可以迁移 PDB,Application Container 适合多租户应用共享定义。

克隆不是简单复制文件。要考虑服务名、DB Link、目录对象、外部依赖、作业、账号口令和数据脱敏。

# 4.4. 资源管理与备份恢复

多个 PDB 共享 CPU、内存、IO 和后台进程。Resource Manager 可以限制不同 PDB 的资源使用。RMAN 支持 CDB 级和 PDB 级备份恢复。

PDB 级恢复很有价值,但前提是备份策略、归档链和恢复演练覆盖了这个粒度。

# 5. 功能模块细节补充

本节围绕概念图中的模块逐个补充底层细节,重点讲它们在 Oracle 运行链路中的位置和相互关系,而不是按固定角色模板拆分。

# 5.1. CDB

CDB 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.2. PDB

PDB 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.3. CDB Root

CDB Root 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.4. PDB Seed

PDB Seed 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.5. Application Container

Application Container 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.6. PDB Clone

PDB Clone 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.7. PDB Relocate

PDB Relocate 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.8. Resource Manager

Resource Manager 属于 CDB/PDB 多租户架构。它改变了对象所在容器、用户权限、资源隔离、备份恢复和补丁升级方式;任何应用连接都必须明确服务名和目标 PDB。

# 5.9. PDB Backup

PDB Backup 属于备份恢复或闪回链路。备份文件、控制文件、归档日志、恢复目录和闪回日志共同决定能恢复到哪里、多久恢复、是否能校验;备份成功不等于恢复能力达标。

# 6. 开发人员重点提醒

  • 应用连接串必须使用 PDB 服务名。
  • Schema 和 PDB 边界要写入配置和文档。
  • 克隆环境要做脱敏和外部依赖隔离。

# 7. 运维人员重点提醒

  • 监控每个 PDB 的空间、会话、资源和服务状态。
  • 补丁升级前验证所有 PDB 组件状态。
  • 定期演练 PDB 级恢复和克隆。

# 8. 典型问题与排查

  • 连错容器:检查 show con_name、服务名和连接串。
  • 某 PDB 拖慢全库:检查 Resource Manager 和 PDB 资源使用。
  • PDB 打不开:检查插件兼容、组件状态和数据文件。

# 9. 实践建议与检查清单

  • PDB 服务命名规范
  • 公共/本地用户边界清晰
  • PDB 资源计划配置
  • PDB 级备份恢复演练
  • 克隆脱敏流程完整

# 10. 阶段小结

本篇的学习重点不是记住术语,而是能把底层机制、业务语义和生产证据连起来。读完本篇后,应该能解释关键组件如何协作、常见问题为什么发生、开发侧如何避免制造风险、运维侧如何用指标和日志把问题定位到具体链路。

上次更新: 2026/06/25, 15:30:11
ASM存储与文件管理
分区表与VLDB实践

← ASM存储与文件管理 分区表与VLDB实践→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式