Oracle 12c系列(一)|多租户容器数据库

Oracle 12c系列(一)|多租户容器数据库
最新回答
白纸黑字丶续写谁的故事

2026-03-09 03:50:43

Oracle 12C的多租户容器数据库具有以下关键特性和要点:

  • 核心特性:多租户容器数据库允许在单个CDB中容纳多个可插拔数据库,实现资源的高效共享与管理。

  • 组成部分:

    • 根容器数据库:CDB的核心,包含主数据字典视图,管理所有PDB的元数据。
    • CDB seed:作为PDB的模板,提供数据文件,但不允许执行事务操作。
    • PDB数据库:独立存在的实体,拥有自己的数据文件和对象。
  • 用户类型:

    • 公用用户:在所有PDB中存在。
    • 本地用户:仅在特定PDB中创建。
  • 表空间管理:

    • 在CDB环境中,SYSTEM/SYSAUX表空间不再是共享的,每个容器拥有自己的SYSTEM和SYSAUX表空间。
    • 所有PDB共用CDB$ROOT中的REDO文件。
    • 公用用户在根容器中执行ALTER SYSTEM CHECKPOINT命令。
  • 共享与独立资源:

    • 所有PDB共用CDB的归档模式、归档文件和控制文件。
    • UNDO的使用模式有共享或本地两种选择,可通过命令更改为LOCAL UNDO MODE,使所有PDB自动创建自己的UNDO表空间。
    • 每个PDB拥有自己的临时表空间。
  • 参数与日志管理:

    • 参数文件仅记录根容器参数,PDB级别的参数通过特定视图查看。
    • 所有PDB共用一个告警日志和一组跟踪文件。
  • 时区与字符集:

    • 可以为CDB及所有PDB设置相同的时区或单独的时区。
    • 字符集在CDB中统一设置,并可以应用于所有PDB。
  • CDB数据字典视图:提供所有PDB的元数据信息,且包含唯一标识符con_id,便于容器管理。

  • 创建与管理:

    • 创建CDB时需要启用可插拔数据库功能。
    • 管理CDB时,通常使用sys用户连接根容器数据库。
    • 启动和停止CDB通常由sys用户完成,当连接PDB时无法执行这些操作。
    • 切换容器时,仅需使用alter session命令。