暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle体系结构之逻辑结构

程序猿的向往 2021-04-08
1126

点击上方蓝字关注我们!




Oracle 逻 辑 结 构 图



表空间(Tablespace)



表空间是Oracle最大的逻辑存储结构,与物理上的数据文件相对应,但是一个表空间可以拥有多个数据文件。

  • 数据表空间

    用于存储用户数据的普通表空间。

  • 系统表空间

    默认的表空间,用于保存数据字典(一组保存数据库自身信息的内部系统表和视图,及用于Oracle内部使用的其他一些对象),保存所有的PL/SQL程序的源代码和解析代码,包括存储过程和函数、包、数据库触发器等,保存数据库对象(表、视图、序列)的定义。

  • 回滚表空间

    用于存放回滚段,每个实例最多只能使用一个撤销表空间

  • 临时表空间

    存储SQL执行过程中产生的临时数据



段(Segment)


段是一组盘区,它是一个独立的逻辑存储结构,用于存储具有独立存储结构对象的全部数据。段一般是数据库终端用户处理最小的存储单位,当段的数据区已满,Oracle为其分配另一个数据区,段的数据区在磁盘上可能是不连续的。

  • 数据段

    用来存储表中所有数据;

  • 索引段:

    用来存储表中索引的所有数据;

  • 临时段:

    用于存储表排序或汇总时产生的临时数据

  • LOB段:

    LOB用来存储表中大型数据对象,例如CLOB与BLOB

  • 回退段:

    用于存储用户数据被修改之前的位置和值;

    当要对用户的数据进行回退操作时,就要使用回退段。


06



区(Extent)


      区是Oracle存储分配的最小单位,它是由一个或多个数据块组成的。一个或多个区组成一个段,也就是说段的大小都是由区的个数来决定。当一个段的空间使用完之后,Oracle会自动为该段分配成一个新的区。


用户还能够通过执行下面的命令来回收表、索引等对象中未使用的区:

SQL>alter table table_name deallocate unused;




块(Block)





块是用来管理存储空间的最基本的单位,也是最小的逻辑存储单位。块的大小由初始化参数db_block_size来决定,不同的Oracle版本的大小是不同的,但是数据库一旦创建,其大小便不可更改。虽然每个数据块可以存储不同类型的数据,但是每个数据块都具有一个相同的结构。



  • 块头

    包含了该数据块一般的属性信息,如数据块的物理地址、所属段类型等

  • 表目录

    如果数据块中存储的数据是某个表的数据,则这里存放该表的信息

  • 行目录

    用来存储数据块中有效的行信息

  • 空余空间

    指数据块还没有使用的存储空间

  • 行空间

    表或者索引的数据存储在行空间中,所以行空间是数据块中已经使用的存储空间




扫码

长按关注

    关注

惊喜不断


文章转载自程序猿的向往,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论