oracle逻辑结构
数据块(data block)
数据库块也称逻辑块,它对应磁盘特定数量的物理存储空间,是一组连续的操作系统块。是ORACLE管理数据文件中存储空间的单位,为Oracle读写的基本单位,其大小可不同于操作系统的标准I/O块大小,但一般是操作系统块大小的整数倍。,数据块的大小由初始化参数DB_BLOCK_SIZE指定。
数据区(Extent)
数据区是oracle数据库分配空间的基本单位,由连续的数据块组成,它的主要作用是存储特定数据类型的数据。每一个段都是由一个或多个数据区组成。在Oracle数据库中,分配空间就是以数据区为单位的,它是表中数据增长的基本单位。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。每个数据区只能包含来自一个数据文件的数据,因为它由连续的数据块组成。
段(Segment)
段包含表空间中一种指定类型的逻辑存储结构,段是数据区的集合,每个段都分配给特定的数据结构,存储在相同的表空间中。Oracle以数据区为单位为段分配空间,当段的数据区已满的时候,Oracle为段分配另一个数据区,段的数据区在磁盘上可能是不连续的。段和它所有的数据区都存储在一个表空间中。在表空间中,一个段包含来自多个文件的数据区,段可以跨越数据文件。
一个Oracle数据库有4种类型的段:
数据段:对于每一个非聚集的表有一数据段,表的所有数据存放在该段。每一聚集有一数据段,聚集中每一个表的数据存储 该段中。当创建一个表时,系统自动创建一个以该表的名字命名的数据段。
索引段:每一个索引有一个索引段,存储索引数据。一旦建立索引,系统自动创建一个以该索引的名字命名的索引段。
回滚段:由DBA建立,用于临时存储要撤销的信息,这些信息用于生成一致性数据库信息、在数据库恢复时使用,回滚未提交 的事务。当一个事务开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。系统有个默认的回滚段,其管理方式既可以是自动的,也可以是手工的。
临时段:当一个sql语句需要临时工作区时,由oracle建立。当语句执行完毕,临时段的范围退还给系统
表空间
表空间是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间),一个表空间只能属于一个数据库。一个表空间对应一个或多个数据文件。我们要存储的数据信息以及相关的记录,实际是存储到Oracle的数据文件当中,但是在逻辑上是将这些表和表中的数据存储到表空间中,表空间和物理的映射文件有个一对多映射关系。
总之,因为Oracle是数据文件的集合,所以理解oracle如何组织数据文件很重要,oracle正是通过表空间来完成此项工作的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25496585/viewspace-688638/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25496585/viewspace-688638/