多租户最重要的2个概念是容器数据库(CDB,multitenant container database)和可热插拔数据库(pluggable databases,PDB)。CDB和PDB比较难于理解,我们就不用按照官方的文档进行解释了。大家可以把CDB想象成一个大的容器,这个大的容易在物理上是一个整体,在这个大的容器中还有一些小的容器,一个CDB含有3种类型的容器(如下图所示):
1) root容器,包含元数据信息
2) seed容器,它就是一个模板,新的PDB可以基于这个模板进行创建
3) PDB,也是最重要的,包含用户数据,我们的创建的表就放在这里。root和seed主要出于管理的目的。
CDB其实就是我们以前的数据库,只是它被分成了几部分,每一部分(每个PDB)都能作为一个整体(数据库)对外独立提供服务,就好像你看到了多个以前的Oracle数据库。PDB有点像Schema(模式),最大的差别是,对外界来说,它是一个独立的数据库。暂时不能理解CDB和PDB的概念,也没有关系!!!看完后续的实验,估计你就明白了。
多租户(Multitenant)的好处是:
1)节省成本
2)数据便捷移动
3)职权分离
4)减少数据库管理任务
5)最适合大的数据中心项目
此外,还需要记住下面总结出来的一些有关CDB和PDB的概念:
1)每个CDB有一个活动的UNDO表空间(active undo tablespace)
2)redo log属于CDB,而不是PDB
3)控制文件属于CDB,而不是PDB
4)每个PDB都有一个SYSAUX表空间(CDB也有一个SYSAUX表空间)
5)每个PDB都有一个SYSTEM表空间(CDB也有一个SYSTEM表空间)
6)每个PDB有一个临时表空间(可选)(CDB也有一个临时表空间,供所有的PDB共享)