多租户架构能使Oracle数据库可用作多租户容器数据库(CDB)
一个多租户容器数据库(CDB)包含0个或多个自定义的可插拔数据库(PDBs)。PDB是一个包含schemas,schema objects,nonschema objects的集合。在12c之前,所有的oracle数据库都是非CDB。
1.关于CDB中的容器
容器是多租户架构中一个包含数据和元数据的集合。
每个CDB都有以下容器:
一个CDB root容器(简称root)
CDB root是所有PDB共有的,root包含了数据库提供的元数据(PL/SQL等源代码)和普通用户(每个PDB都拥有的用户)。root容器叫CDB$ROOT
一个system容器
system container包含了root CDB和所有的PDBs,所以system container是CDB自身的逻辑架构。
0或多个applications container
application container只包含一个application root以及插入此root的PDB。system container包含CDB root和所有的PDB,而application container仅包含插入application root的PDB,application container root属于CDB root不属于其它容器。
0或多个用户自创的PDBs
一个seed PDB
seed PDB是Oracle提供用来创建新PDBs的模板, seed PDB叫PDB$SEED,不能增加或修改PDB$SEED的对象。
1.1.CDB with No Application Containers
这是一个没有使用application container的CDB。这个CDB包含CDB$ROOT、PDB$SEED和两个PDBs。每个PDB都有独立的应用,每个PDB都有不同的管理员。CDB管理员可以管理CDB和所有的PDBs。
1.2CDB with an Application Container
这是一个使用application container的CDB。多个DBAs管理这个CDB环境:
一个CDB管理员管理CDB
一个application container管理员管理saas_sales_ac容器,包括application安装和升级
一个application PDB管理员管理2个PDBs:cust1_pdb和cust2_pdb
一个PDB管理员管理hrpdb
2.关于多租户中的用户界面
我们可以像非多租户架构那样使用管理工具:
SQL*Plus
Oracle Enterprise Manager Cloud Control(Cloud Control)
Oracle Enterprise Manager Database Express(EM Express)
Oracle Database Configuration Assistant(DBCA)
参考文章:
12
c
Release 2 (12.2)
Database Concepts