Oracle表空间和数据文件的关系

数据库的物理结构是由数据库的操作系统文件所决定, 每一个Oracle数据库是由二种类型的文件组成: 数据文件和控制文件。 数据库的文件为数据库提供真正的物理存储。

每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表, 索引等)的数据物理地存储在数据库地数据文件中。 数据文件通常为*.dbf格式, 例如: userCIMS.dbf. 数据文件有一下特征:①、一个数据文件仅与一个数据库联系②、一旦建立数据文件只增不减③、一个表空间(数据库存储地逻辑单位)由一个或多个数据文件组成。

其次我们再来叙述一下Oracle的逻辑结构: Oracle的逻辑结构包括表空间(tablespace), (segment), 数据块(data block)以及模式对象(schema object)

Oracle数据库在逻辑上是由多个表空间组成的表空间在物理上包含一个或者多个数据文件。而数据文件大小是块大小的整数倍表空间中存储的对象叫段比如数据段索引段和回退段。段由区组成区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍, 取得大小可以不同;数据块是数据库中的最小的I/O单位, 同时也是内存数据缓冲区的单位, 及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置, 其值影设置为操作系统块大小的整数倍。

⑴ 表空间(TABLESPACE)

表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成, 一个数据文件只能与一个表空间相联系。每一个数据库都有一个SYSTEM表空间, 该表空间是在数据库创建或数据库安装时自动创建的, 用于存储系统的数据字典表, 程序系统单元, 过程函数, 包和触发器等, 也可用于存储用户数据表, 索引对象。表空间具有在线(online)和离线(offline)属性, 可以将除SYSTEM以外的任何表空间置为离线。

⑵ 段(SEGMENT)

数据库的段可以分为4类:数据段, 索引段, 回退段和临时段。

⑶ 

区是磁盘空间分配的最小单位。磁盘按区划分, 每次至少分配一个区。区存储在段中, 它由连续的数据块组成。

⑷ 数据块

数据块是数据库中最小的数据组织单位与管理单位, 是数据库文件磁盘存储空间单位, 也是数据库I/O的最小单位, 数据块大小由DB_BLOCK_SIZE参数决定, 不同的ORACLE版本BD_BLOCK_SIZE的默认值是不同的。

查询DB_BLOCK_SIZE可以使用sql

select name, value from v$parameter where name = 'db_block_size';

⑸ 模式对象

模式对象是一种应用, 包括:表、 聚簇、 试图、 索引序列生成器、同义词、哈希、程序单元、数据库链的等。

最后说一下ORACLE的用户、表空间和数据文件的关系:

一个用户可以使用一个或多个表空间, 一个表空间也可以提供多个用户使用。用户和表空间没有隶属关系, 表空间是一个用来管理数据存储的逻辑概念, 表空间只是和数据文件发生关系, 数据文件是物理的。 一个表空间可以包含多个数据文件, 而一个数据文件只能隶属于一个表空间。

总结一下:解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子, 柜中的抽屉是表空间, 抽屉中的文件夹是数据文件, 数据夹中的纸是表, 写在纸上的信息就是数据。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值