Oracle 12C 新特性之一:多租户架构,CDB和PDB(四)
一,CDB中的表空间和数据文件
CDB的表空间和数据文件结构和非CDB实一样的,除了每一个PDB和应用root有它们自己的表空间集之外,其中包括各自的SYSTEM,SYSAUX和undo表空间。
一个CDB包含以下文件:
- 一个控制文件
- 一个在线重做日志文件
- 一个undo数据文件集合,在一个单实例的CDB中,只有一个活动的undo表空间。对于一个RAC CDB,每个实例都有一个活动的undo表空间。只有拥有足够权限并且当前容器是root的公共用户才能创建undo表空间。在所有的容器中的数据字典和相关视图中可以看到所有的undo表空间。
- 每一个容器都有各自的SYSTEM和SYSAUX表空间,CDB和非CDB在物理上最主要的不同就是SYSTEM和SYSAUX中的数据文件。在非CDB中,只有一个SYSTEM和一个SYSAUX表空间。而在CDB中,CDB root和每一个PDB都有自己的SYSTEM和SYSAUX表空间。每一个容器都有它自己的描述容器中的对象的字典表,这种特性也使得能够通过plug和unplug的方式来把PDB移动到不同的CDB上。
- 0或者多个用户创建的表空间,在典型的使用情况里,每一个PDB都有它自己的非系统表空间集。这些表空间包含了用户定义的schema和object的数据。在PDB里面,管理普通表空间和临时表空间的方式和非CDB是一样的。另一方面,你在创建pdb的时候,也可以通过设置STORAGE属性来限制PDB所能够使用的空间。
- 每个容器都有自己的临时文件集。CDB root有一个默认的临时表空间,每一个PDB也都有一个缺省的临时表空间。
下表显示了携带两个PDB的CDB的存储结构:

浙公网安备 33010602011771号