zoukankan      html  css  js  c++  java
  • Oracle 12c 容器讲解

     

    Oracle 12c一个重要新特性是插接式数据库。

    插接式数据库由一个使用 CDB(Container Database)选项创建的容器数据库和一个或多个 PDB(Pluggable Database)组成,CDB 作为容器容纳 PDB,而 PDB 彼此隔离,就像一个独立的数据库般在 CDB 中存在。PDB 是一组 Schema 的集合,在 CDB 中作为一个独立的组件容器而存在。从这个意义上说,PDB 也是一种容器(Container), 而 CDB 中可以存在多种不同类型的容器。

    CDB 的组成

    ① ROOT

    Root 是一个系统提供的容器,用于存储公用用户,公用用户可以连接到其他容器,可以查看系统级元数据,这个 Root 容器被命名为 CDB$ROOT.

    ② Seed PDB

    种子 PDB 是一个系统级模版,CDB 可以用这个模版创建其他 PDB,种子 PDB 的名称是 PDB$SEED,其中的对象不能被修改。这其中最为主要的是 SYSTEM 和 SYSAUX 表空间文件,这是一个种子数据库,已经内置了字典对象,如果使用模板方式建库,PDB 则由此克隆创建出来。

    容器 CDB$ROOT 和 PDB$SEED 对于一个插接式数据库来说是必须的基本组件,这两者构成了插接式数据库的基础支撑。其关系如下图所示:

    ③ PDB

    PDB 是用户基于特定需求建立的对象容器,在创建 CDB 时,可以不同时创建 PDB,PDB 随后可以根据用户的需求创立。

     插接式数据库的主要特性:

     可以通过现有数据库快速配置和部署新的环境;

    通过 unplug 和 plug 可以快速进行数据库迁移和整合;

    集中的部署可以加快升级迁移的过程,缩减维护成本;

    方便的整合和拆分方式便于集中部署或在压力过大时迅速拆分部署;

    分离管理员的职责,强化安全管理;

    在 CDB 的模式下,由于 PDB 具有独立的 SYSTEM 和 SYSAUX 表空间,其元数据和系统元数据自然分离,用户数据的字典信息也就无需再记录到系统的元数据中,这对于核心的元数据是一种更好的隔离和保护,下图描述了在 CDB、PDB 模式下用户数据和元数据的分离关系,其中数据字典元数据也就是 Root Container:

    各个容器都有一个标识(CON_ID),其中CDB实例的ID为0,CDB$ROOT 的ID为1,PDB$SEED的ID为2,pdb从3开始分配。

  • 相关阅读:
    DcotrineFixtureBundle学习
    php方法(1)
    学习笔记(2)
    微信access_token的获取
    学习笔记(1)
    与你相遇——博客园
    单例模式
    Java集合
    sql 优化
    缓存与数据库的数据一致性的解决方案(转)
  • 原文地址:https://www.cnblogs.com/ray-bk/p/9772908.html
Copyright © 2011-2022 走看看