返回顶部
首页 > 资讯 > 数据库 >Oracle12c中CDB数据库中数据字典架构是怎样的
  • 323
分享到

Oracle12c中CDB数据库中数据字典架构是怎样的

2024-04-02 19:04:59 323人浏览 薄情痞子
摘要

这篇文章给大家介绍oracle12c中CDB数据库中数据字典架构是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 数据字典就是元数据的集合,比如创建的表,列,约束,触发器等等这

这篇文章给大家介绍oracle12c中CDB数据库中数据字典架构是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

数据字典就是元数据的集合,比如创建的表,列,约束,触发器等等这些都是元数据,需要保存到数据库中。除此之外,Oracle自身的一些数据库对象,如目录,PL/sql代码等等这些都是元数据,都需要存放在数据字典中。随着12c 容器数据的普及,Oracle数据字典发生了哪些变化呢,下文即是具体描述。

一、数据字典及其形成

1、数据字典

数据字典是元数据的集合,从逻辑上和物理上描述了数据库及内容,存储于SYSTEM与SYSAUX表空间内的若干段。

SYS用户拥有所有的数据字典表,数据字典基本一般以 2、数据字典的形成

在数据库创建阶段创建,在使用阶段维护和更新

无法通过DML操作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。

3、数据字典包括的内容

数据库对象的定义信息

用户定义信息

PL/SQL代码

用户创建的其他对象等

关于数据字典详细介绍可以参考:Oracle 数据字典和数据字典视图

二、CDB数据库中数据字典架构

1、数据字典存放方式的变更

在Oracle 12c之前的数据库版本,系统数据字典和用户数据字典采取了混合存放的处理方式。

在Oracle 12c CDB数据库中采取分离存放的方式,及各个PDB数据字典独立存放。

从用户和应用程序的角度来看,CDB中每个容器中的数据字典是分开的,因为它将在非CDB中。

2、非CDB混用数据字典情形示意图

在新创建的不包含用户数据的非CDB中,数据字典仅包含系统元数据。

例如,TAB$表包含仅描述Oracle提供的表的行,例如TRIGGER$和SERVICE$。

随着用户数据库对象添加到数据库,则用户添加的这些对象信息被混合存放到了系统数据字典(即Oracle提供的数据对象字典)

如下图描绘了二个基础数据字典表

左边图示中黑色条表示描述系统数据字典的行,绿色条的表示用户对象产生的行相间到数据字典表 
Oracle12c中CDB数据库中数据字典架构是怎样的

3、CDB分离数据字典情形示意图

在CDB中,数据字典元数据在根和PDB之间分割。

在下图中,表emp和dept位于PDB中。该用户数据的数据字典也驻留在PDB中。因此,TAB$PDB中的表具有emp表的行和表dept的行。

Oracle12c中CDB数据库中数据字典架构是怎样的

那对于Oracle提供的系统对象(系统级别数据字典)要如何访问呢,Oracle通过内部指针的方式来实现。

如下图显示PDB中的数据字典包含指向根中数据字典的指针。在内部,Oracle提供的对象(如数据字典表定义和PL / SQL包)仅在根中表示。

Oracle12c中CDB数据库中数据字典架构是怎样的

这种架构实现了CDB内的两个主要目标:

????减少重复

????????例如,DBMS_ADVISORCDB不是将PL / SQL包的源代码存储在每个PDB中,而是将其存储在CDB$ROOT其中,从而节省了磁盘空间。

????易于数据库升级

????????如果数据字典表的定义存在于每个PDB中,并且如果定义在新版本中更改,则每个PDB将需要单独升级以捕获更改。在根中存储表定义只有一次消除了这个问题。

4、元数据和数据链接

CDB使用内部链接机制来分离数据字典信息。

具体来说,Oracle数据库使用以下自动管理的指针:

  • 元数据链接

??Oracle数据库仅在CDB根目录中存储有关字典对象的元数据。例如,数据字典视图下的OBJ$字典表的列定义DBA_OBJECTS仅存在于根目录中。如前一图示,OBJ$在每个PDB表使用称为内部机构的元数据链接指向存储在根定义的OBJ$。

??该数据对应于元数据链路驻留在其PDB,而不是在根。例如,如果您在hrpdb上的表mytable中添加行,然后将行存储在PDB数据文件。PDB和根中的数据字典视图包含不同的行。描述表mytable的一个新行被添加到hrpdb的OBJ$,但是不存在于CDB根目录中的OBJ$。因此,查询DBA_OBJECTS在CDB根和DBA_OBJECTS在hrdpb显示出不同的结果。

  • 数据链接

??注意: 
??Oracle数据库12 c版本1(12.1.0.2)中的数据链接称为对象链接。

??在某些情况下,Oracle数据库将一个对象的数据(不仅仅是元数据)存储在应用程序根目录中。应用程序PDB使用称为数据链接的内部机制来引用应用程序根目录中的对象。创建数据链接的应用程序PDB还存储数据链接描述。数据链接继承其所涉及的对象的数据类型。

  • 扩展数据链接

??扩展数据链路是数据链路和元数据链路的混合。像数据链接一样,扩展数据链接引用应用程序根目录中的对象。然而,扩展数据链路也引用PDB中的相应对象。像元数据链接一样,应用程序PDB中的对象从应用程序根目录中的相应对象继承元数据。

??在应用程序根目录中查询时,扩展的数据链接对象仅从应用程序根目录中获取行。然而,当在应用程序PDB中查询时,扩展的数据链接对象从应用程序根和应用程序PDB中获取行。

Oracle数据库自动创建和管理元数据和数据链接CDB$ROOT。用户无法添加,修改或删除这些链接。

三、数据字典视图

在启用CDB之后,数据字典相关视图也有一些变化,主要是增加了CDB相关的视图。如下图所示: 
Oracle12c中CDB数据库中数据字典架构是怎样的

关于Oracle12c中CDB数据库中数据字典架构是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle12c中CDB数据库中数据字典架构是怎样的

本文链接: https://lsjlt.com/news/65742.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle12c中CDB数据库中数据字典架构是怎样的
    这篇文章给大家介绍Oracle12c中CDB数据库中数据字典架构是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 数据字典就是元数据的集合,比如创建的表,列,约束,触发器等等这...
    99+
    2024-04-02
  • Aurora数据库的架构是怎样的
    Aurora数据库是一种关系型数据库服务,它基于MySQL和PostgreSQL引擎进行开发。Aurora数据库的架构是基于分布式架...
    99+
    2024-04-02
  • MySQL数据库基础架构是怎么样的
    这篇文章给大家分享的是有关MySQL数据库基础架构是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.Application LayerMySQL的应用层提供各种用户对数...
    99+
    2024-04-02
  • 大数据Atlas的架构是怎样的
    大数据Atlas是一个开源的数据分类和元数据管理工具,用于建立和维护数据资产的清单。其架构主要包括以下几个组件: 数据采集器(D...
    99+
    2024-03-07
    Atlas
  • Winform框架中怎么管理字典数据
    Winform框架中怎么管理字典数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在所有开发过的项目过程,很多如权限管理、字典数据管理模块,都是非常常用的模块,本文主要想介...
    99+
    2023-06-17
  • 关系数据库系统中使用的数据结构是怎样的
    小编给大家分享一下关系数据库系统中使用的数据结构是怎样的,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!关系数据库系统中使用的数据结构是二维表。在关系型数据库系统中,所有的数据都采用二维表的...
    99+
    2024-04-02
  • ORACLE中怎么克隆非CDB数据库
    本篇内容主要讲解“ORACLE中怎么克隆非CDB数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ORACLE中怎么克隆非CDB数据库”吧!可以使用3种方法通...
    99+
    2024-04-02
  • Linux中VirtualBox的经典架构是怎样的
    这篇文章给大家介绍Linux中VirtualBox的经典架构是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  VirtualBox号称是目前开源界最强大的虚拟机产品,在Linux平台上,基本上都被大家选择为首选...
    99+
    2023-06-13
  • PostgreSQL中的Tuplesortstate数据结构是怎样的
    本篇内容主要讲解“PostgreSQL中的Tuplesortstate数据结构是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中的Tu...
    99+
    2024-04-02
  • 关于Python数据结构中字典的心得
    本篇主要介绍:常见的字典方法、如何处理查不到的键、标准库中 dict 类型的变种、散列表的工作原理等。一下是全部内容: 泛映射类型 collections.abc 模块中有 Mapping 和 Mutabl...
    99+
    2022-06-04
    数据结构 字典 心得
  • 现代云架构中的AWS服务器群和数据库是怎么样的
    这篇文章给大家介绍现代云架构中的AWS服务器群和数据库是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当今云计算技术成了主流的架构和互联网基础服务架构之一。越来越多的企业、组织...
    99+
    2024-04-02
  • python中pandas数据结构是怎么样的
    这篇文章给大家分享的是有关python中pandas数据结构是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、Series是一个类似于一维数组的对象,由一组数据(各种NumPy数据类型)和一组相关数据标...
    99+
    2023-06-20
  • JavaScript中Map数据结构是怎么样的
    这篇“JavaScript中Map数据结构是怎么样的”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“JavaScript中Map数据结构是怎么样的”,小编整理了以下知识点,请大家跟着小编的步伐一...
    99+
    2023-06-28
  • mysql数据库是什么架构
    mysql遵循客户端-服务器架构,组件包括:客户端:发送查询和接收响应。服务器:存储和管理数据,响应客户端查询。引擎:管理数据存储和检索,不同引擎提供不同的功能和优化选项。 MySQL...
    99+
    2024-04-14
    mysql
  • HBase中的数据存储结构是怎样的
    在HBase中,数据以表的形式进行存储,表由多行组成,每行可以有多个列族,每个列族可以包含多个列。每行都有一个唯一的行键,通过这个行...
    99+
    2024-04-09
    HBase
  • Java数据库读写分离中的数据库中间件DBProxy是怎样的
    Java数据库读写分离中的数据库中间件DBProxy是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言碎语好久没更博了,今天引用美团技术团队的一篇文章来...
    99+
    2023-06-17
  • 在matlab中怎么创建类似字典的数据结构
    本篇内容介绍了“在matlab中怎么创建类似字典的数据结构”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!matlab中创建类似字典的数据结构...
    99+
    2023-07-05
  • python中的字典怎么遍历数据
    本篇内容介绍了“python中的字典怎么遍历数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明for循环遍历:使用for循环直接遍历字典...
    99+
    2023-06-20
  • python怎么提取字典中的数据
    在Python中,可以使用索引或者get()方法来提取字典中的数据。以下是两种常见的方法:1. 使用索引:可以使用字典的键来访问对应...
    99+
    2023-09-20
    python
  • 结构化SQL数据库与非结构化NOSQL数据库的对比是怎样的
    今天就跟大家聊聊有关结构化SQL数据库与非结构化NOSQL数据库的对比是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。大家好,我们来谈一下数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作