您的位置:首页 > 数据库

管理表空间和数据文件——数据库逻辑结构

2013-05-21 18:39 357 查看
表空间是数据库的裸机组成部分。从物理上说,数据库数据存放在数据文件中;从逻辑上说,数据库数据存放在表空间中,并且表空间是由一个或多个数据文件组成的,是一对多的关系。

oracle提供了一套逻辑结构来安排数据存储,这些逻辑结构包括表空间,段,取以及oracle块。

1.表空间(tablespace)

表空间用于逻辑组织数据库数据。数据库逻辑上由一个或多个表空间组成,而表空间物理上是有一个或多个数据文件组成的。表空间作用:

通过表空间可以控制数据库所占用的磁盘空间。

通过表空间可以控制用户所占用的空间配置。

通过表空间,dba可以将不同类型的数据库部署到不同位置。一方面可以提高i/0性能,另一方面友谊与备份和恢复等管理操作。

2.数据文件(data file)

数据文件是表空间的物理组成部分,表空间与数据文件是一对多的关系,并且一个数据文件只能属于一个表空间。数据库使用的原则是:

少量大数据文件要优于大量小数据文件。

当建立数据库时,使用永久参数maxdatafiles可以指定在控制文件中为数据文件所预留的空间(默认32),通过从建数据文件可以修改永久参数设置。

初始化参数db_files限制了数据库可以同时打开数据库最大文件个数。如果数据文件个数达到了该参数限制,那么无法建立新的数据文件。

从性能角度考虑,应该将数据文件和从做日志不熟部署到不同的磁盘。应为从做日志的i/0操作非常频繁,所以重做日志放到速度最快的磁盘上。

3.段(segment)

段用于存储特定逻辑对象的所有数据,他由一个或多个区组成。当建立表,索引,或簇时,oracle会为这些对象分配段,以存放他们的数据信息,并且段名与对象名完全相同。下面是常用段类型。

表段(数据段):用于存放表的数据(表名=段名)。

索引段:用于存放索引的数据(索引名=段名)。

undo段:用于存放事务所修改数据的旧值。

临时段:用于存放排序操作所产生的的临时数据。以下操作会产生临时数据:

create index

select order by

select distinct

select group by

select union

select intersect

select minus

analyze命令。

4.区(extent)

区由相邻的数据块组成,他是oracle进行空间分配的逻辑单位,并且一个区只能唯一地属于一个数据文件。当建立段时,oracle至少为其分配一个区;当段不足以容纳新数据时,oracle会自动扩展该段,并且为其增加一个区。

5.oracle块

oracle块也称数据块,他是oracle在数据文件上执行i/0操作的最小单位,其取值为2k,4k,8k,16k,32k。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐