
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1 CDB中的容器
容器是多租户架构中数据或元数据的逻辑结合。如图1-1所示是CDB中的容器架构。

图1-1 CDB中的容器架构
一个CDB中可以包含以下容器。
一个CDB 根容器(简称Root)。它是每个PDB中所属的模式(Schemas)、模式对象和非模式对象的组合。根容器中存储着Oracle内部提供的元数据和公共用户,比如PL/SQL包就是一种元数据。公共用户对所有容器都可见,只要公共用户有合适的权限,就可以连接和管理所有容器,包括PDB。
一个系统容器(System Container)。系统容器包含根容器和CDB中的所有PDB,它是CDB的一个逻辑容器。
零或多个应用程序容器(Application Container)。应用程序容器由一个应用程序根容器(Application Root)和多个插到该根容器的PDB组成。系统容器包含CDB 根容器和CDB中的所有PDB,而应用程序容器只包含已插到应用程序根容器的PDB。应用程序根容器只属于CDB 根容器,不属于其他容器。
零或多个用户创建的PDB。
一个种子PDB(Seed PDB)。种子PDB是系统提供的模板,在CDB中可以使用该模板来创建新的PDB。注意,我们无法对种子PDB中的对象进行添加或修改。