Oracle逻辑存储结构包括表空间,各种段,区间,数据块等几种基本结构。
1)表空间是数据库的逻辑划分,每个数据库至少有一个表空间,USER表空间供一般用户使用,RBS表空间供回滚使用,一个表空间只能属于一个数据库。每一个表空间由同一磁盘上的一个或多个数据文件组成。表空间实质是组织数据文件的一种途径。
2)段(Segment)是逻辑数据库对象的物理副本,段存储数据,如:索引段存储与索引相关的数据
3)数据库为段分配的一组连续的数据块称为区间(extent)
4)数据块是Oracle数据库的硬盘存储单元,在使用数据库工作时,Oracle使用数据块存储和检索硬盘上的数据.
下面我们来详述:
1. 数据库表空间
表空间是Oracle逻辑存储结构中数据的逻辑组织,第一个数据库至少有一个系统表空间(system tablespace)。表空间的作用只是帮助组织数据库。
1)系统表空间(System tablespace)是必备的部分,存放的是诸如表空间名称。表空间所包含数据文件夹等管理数据库自身所需的信息。
2)临时表空间(temp tablespace):Oracle用于存储其所有临时表的所在。
3)工具表空间(tools tablespace):用于保存数据库工具软件所需的数据库对象
4)用户表空间(users tablespace):用于存放用户的么有信息.是数据库管理员许可用户存放数据库对象的地方
5)数据库索引表空间:索引是专用的数据库对象,可以帮助Oracle迅速找出表中存放的数据
6)回滚表空间(rollback)rbs:用于保存回滚段的表空间,称作rbs回滚表空间
2.段,区间和数据块
1)段由若干个区间组成,区间是一些连续的数据块。段,区间和数据块是构成其它数据对象的基本单位。Oracle为数据库表空间预先分配数据文件作为物理存储区,为数据库对象(如:表,索引)预先分配数据块的段作为其物理存储区。Oracle数据库可以包含数据段,索引段,LOB段,回滚段和临时段表在Oracle逻辑存储结构数据段中存储数据,索引在索引段中存储其数据,大对象在LOB段中存储其相应的LOB值。
2)区间是表空间内连续分配的相邻的数据块,由于段是一个物理实体,它必须分配到数据库的一个表空间中,放在表空间的一个数据文件上;一旦段中现有区间不能再容纳新数据,该段将获取另外的区间.
3)数据块
datablock是数据库中最小的,最基本的存储单元,它是数据库能分配给对象的最小存储单元,是Oracle能从磁盘读或写的最小单元。在Oracle中,每一个数据和索引段都具有一个或多个数据块空闲列表,是空闲数据块的目录,向表中插入一个新行时,Oracle把新行放入该表的空闲列表上的数据块中,如果行的长度比数据块的大小大,那么Oracle在两个或更多的数据块中链接这个行当创建新的数据库对象(如表)时,Oracle为这些对象的段分配一个或多个区间,而区间则是在存储这些对象段的表空间的数据文件中的一组连续的数据块的集合。
想象一个装满东西的柜子,数据库就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的
信息就是数据,表空间实质是组织文件的一种方法。
【编辑推荐】