Oracle 12C CDB与PDB的数据字典视图解析

需积分: 0 1 下载量 195 浏览量 更新于2024-08-03 收藏 356KB PDF 举报
"Oracle 12C 数据字典视图概念深入浅出" 在Oracle 12C中,数据字典视图的概念发生了显著变化,主要是由于引入了多租户容器数据库(CDB)和可插拔数据库(PDB)。CDB是一种新型的数据库结构,允许在一个单一的物理实例中管理多个独立的数据库,即PDB。这种设计提高了资源管理和隔离的效率。 在CDB环境中,数据字典表和视图的元数据只存储在根目录(CDB$ROOT)中。这意味着所有关于CDB全局信息的元数据都集中在这里,如系统权限、全局角色、数据库链接等。然而,每个PDB都有自己的数据字典视图,用来记录其内部的数据库对象,如表、索引、序列等。这些PDB级别的数据字典视图包含了PDB内特定对象的信息。 由于PDB可以拥有自己独特的数据和架构,查询相同的数据字典视图(如DBA_TABLES)时,不同PDB会返回不同的结果,反映各自数据库中的对象状态。PDB通过元数据链接这一内部机制,能够访问根目录中的数据字典视图元数据,从而获取必要的信息。 对于那些与整个CDB相关的信息,如自动工作负载存储库(AWR)数据,它们存储在根目录,并且可以在某些数据字典视图中查看。这些视图使用对象链接技术,使得PDB能够访问这些全局信息。 在CDB中,存在一类特殊的视图,它们被称为“CDB视图”,如CDB_PDBS、CDB_PROPERTIES等,这些视图专门用于展示整个CDB的信息或者各个PDB的状态和历史。例如,CDB_PDBS视图提供关于CDB关联的所有PDB的详细信息,包括每个PDB的状态。CDB_PROPERTIES则显示CDB中每个容器的永久属性。 当用户处于PDB上下文时,他们只能看到与当前PDB相关的数据字典信息,也就是说,数据字典视图仅显示PDB内的信息。而全局视图(如GV$views)则可以跨多个PDB提供信息,通常包含一个CON_ID列来标识来自哪个容器。 总结来说,Oracle 12C的数据字典视图体系结构是为了解决多租户环境下的信息管理和查询需求,通过元数据链接和对象链接技术,实现了对CDB全局和PDB局部信息的有效管理和访问。了解这些视图的特性和用法,对于管理和监控CDB及其PDB至关重要。