Oracle数据库的逻辑存储结构是从逻辑的角度来分析数据库的构成的,也就是数据库创建后,利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。在操作系统中,没有数据库逻辑存储结构信息,只有物理存储结构信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以通过数据字典查询逻辑存储结构信息。逻辑结构是面向用户的,用户使用Oracle开发应用程序时,使用的就是逻辑结构。
Oracle的逻辑结构是一种层次结构。主要由表空间、段、区和数据块等概念组成。其关系如下:
①每个数据库由一个或多个表空间所组成(至少一个)。
②每个表空间基于一个或多个操作系统的数据文件(至少一个)。
③每个表空间中可以存放零个或多个段(Segment)。
④每个段是由一个或多个区段(Extent)所组成。
⑤每个区段是由一个或多个连续的Oracle数据块所组成。
⑥每个Oracle数据块是由一个或多个连续的操作系统数据块所组成。
1.表空间
表空间是Oracle数据库最大的逻辑存储单元,表空间用来存储创建的数据库对象,如表、视图、存储过程等。每个Oracle数据库至少拥有一个表空间,表空间与数据库文件直接关联,一个表空间包含一个或多个数据文件,一个数据文件只能从属于某一个表空间,表空间的大小为其所包含的所有数据文件大小的总和。
2.段(https://www.xing528.com)
段是由一个或多个连续或不连续的区组成的逻辑存储单元,用于存储特定的、具有独立存储结构的数据库对象。根据存储对象类型不同,分为数据段、索引段、临时段和回滚段4种。
①数据段:用来存储表或簇的数据,可以细分为普通表段(Table)、分区表段(Table Partition)、簇段(Cluster)、索引化表段(Index-organized Table)。
②索引段:用来存放索引数据,每个索引都有一个索引段,存储所有的索引数据。
③临时段:当执行SQL语句需要临时工作区时,Oracle将创建临时段。执行完毕后,临时段的区间将被系统回收,以备需要时分配使用。
④回滚段:用于保存数据库的回滚信息,包含当前未提交事务所修改的数据的原始版本。利用回滚段中保存的回退信息,可以实现事务回滚、数据库恢复、数据的读一致性和闪回查询。
3.区间
区间是数据库存储空间中分配的一个逻辑单元,由一组相邻的数据块组成,它是Oracle分配磁盘空间的最小单位。当创建一个数据库对象时,Oracle为对象分配若干个区,以构成一个段来为对象提供初始的存储空间。当段中已分配的区都写满后,Oracle会为段分配一个新区,以容纳更多的数据。构成一个段的所有区只能在一个文件中。
4.数据块
数据块是Oracle管理数据库存储空间的最小数据存储单位,也是数据库执行输入、输出操作的最小单位,由一个或者多个操作系统块构成。一个数据块对应磁盘上的一定数量的数据库空间,因此,数据块既是逻辑单位,也是物理单位。
块的默认大小由初始化参数db_block_size指定。数据库创建完成之后,该参数值无法再修改。通过SHOW PARAMETER语句可以查看该参数的信息,如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
