Oracle 12c 数据库可插拔体系结构

在Oracle 12c数据库中,可插拔数据库拥有一些重要的结构,这些结构和非CDB数据库的结构不同。

下面是一些要点:

CDB:Container Database
PDB:Pluggable Database

  • 与CDB连接就是与CDB$ROOT根容器连接。根容器的主要作用是容纳所有相关PDB的元数据
  • 可以通过SYS用户访问根容器,就像访问非CDB容器一样。当登录数据库服务器时,可以通过OS方式验证登录,在不提供用户名和密码的情况下直接连接根容器。
sqlplus /no log
conn / as sysdba
  • 种子容器PDB$SEED只是用于创建Pluggable数据库的模板。你可以连接种子容器,但是该Pluggable数据库是只读的。
  • Pluggable数据库需要使用独立的命名空间。在CDB中每个Pluggable数据库都拥有唯一的名称,但是在Pluggable数据库的内部可以使用非CDB数据库的命名空间规则。例如:在某个Pluggable数据库中,表空间和用户必须拥有唯一的名称。
  • 每个Pluggable数据库都拥有本身的SYSTEM表空间和SYSAUX表空间以及临时表空间。
  • 如果Pluggable数据库没有创建TEMP文件,可以使用根容器的TEMP文件
  • 每个Pluggable数据库的SYSTEM表空间中都含有其本身的元数据,如用户和对象;通过Pluggable数据库的DBA/ALL/USER级视图和根容器的CDB级视图,可以访问这些元数据。
  • 在CDB中定义的字符集也可以应用于它含有的所有的PDB。
  • 可以为CDB及其所有PDB设置时区时间,也可以单独为每个PDB设置时区时间。
  • 使用SYS用户连接根容器后,可以启动和停止CDB实例。在连接Pluggable数据库时,无法启动和停止CDB实例。
  • 在启动时实例会读取初始化参数文件。使用特权用户连接根容器可以修改所有初始化参数。但是,使用特权用户连接Pluggable数据库时,只能修改当前连接的Pluggable数据库的参数。当你连接Pluggable数据库并修改初始化参数时,这些修改仅仅对当前连接的Pluggable数据库生效。在V$PARAMETER视图的ISPDB_MODIFIABLE列,含有当特权用户连接Pluggable数据库时可以修改的参数。
  • 应用程序只能通过网络访问Pluggable数据库。因此,必须使用监听器监听Pluggable数据库的相应的服务名。如果监听器没有运行的话,应用用户就无法连接Pluggable数据库。
  • 单个Pluggable数据库不能单独启动和停止。在启动和停止Pluggable数据库时,无法为其分配内存和启动、停止的后台进程。
  • CDB有一组控制文件。当特权用户连接根容器时,可以管理这些控制文件。
  • CDB有一个UNDO表空间。CDB中的所有Pluggable数据库都使用同一个UNDO表空间(在RAC时,每个Instance都有一个可用的UNDO表空间)
  • 使用特权用户连接根容器时,才能启用和禁用归档日志模式和切换在线联机日志;使用拥有SYSDBA权限的用户连接Pluggable数据库,无法切换联机重做日志和日志的归档模式。
  • CDB有一个警告日志文件和一组跟踪文件。所有相关的Pluggable数据库的信息都会被写入同一个CDB的警告日志中。
  • 每个容器都有一个唯一的ID。根容器的ID为1,种子容器的ID为2。后续创建的所有Pluggable数据库都会被分配唯一的容器ID。
  • 在FRA(Flashback Area)中,无法单独为Pluggable数据库创建目录;FRA中存储的是CDB的RMAN备份文件、控制文件和联机重做日志,它们不会将Pluggable数据库分别存储到不同的目录。
  • 使用特权用户连接根容器后,可以启用和禁用闪回数据库功能(Flashback Database)。但是,无法启用Pluggable数据库的闪回功能。
  • AWR、ADDM和ASH报告可以反映CDB中所有PDB的情况。显示每个Pluggable数据库的资源使用情况。
  • 在解决SQL性能问题时,通过V SQLV  S Q L 和 V SQLAREA等视图的CON_ID列,可以查看指定Pluggable数据库的信息。

Pluggable 数据库带来的优点

在一个集中化的平台上操作多个数据库将有效降低成本

1、更少的实例损耗
2、更低的存储成本

减少对DBA资源的使用,以及便于维护安全性

1、无需应用修改
2、更快和简便的配置
3、节省了打patch和升级的时间
4、分离了以下责任: 不同应用的管理员、应用程序管理员和DBA、应用用户

提供隔离性

1、保证与非CDB 完整的向后兼容性
2、完整的RAC操作使用
3、与Oracle Enterprise Manager和Resource Manager整合在一起
4、可以集中化管理多个数据库
5、备份和灾难恢复

(未完,待续)

你可能感兴趣的:(Oracle 12c 数据库可插拔体系结构)