Oracle数据库的表空间

来源:互联网 发布:梧桐一叶落而天下知秋 编辑:程序博客网 时间:2024/05/18 00:45

前提:

     对于Oracle数据库,表空间是存储表数据,表结构的地方,“表空间“很好理解,就是存储表的地方,包括表定义所有的数据。做Oracle的小伙伴们务必知道表空间的概念。

下面咱们来做一下比较,用SQL Server数据库和Oracle数据库来比较一下。

     SQL Server数据库和Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。

         一、概念

Oracle表空间之基本概念

ORACLE数据库被划分成称作为表空间[1] 的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字2、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)

一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。

例如:便于理解,把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面,放在这个房间的哪一块区域里面,也就是放到指定的位置,这也是在创建用户的时候需要用户配置的信息项,默认表空间项。

表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体。

二、创建脚本

create tablespace aaa   --新建表空间名

datafile 'D:\app\Administrator\oradata\orcl\aaa.dbf'--表空间物理文件路径,按照实际修改

size5000m--表空间初始大小

autoextend on next 100--表空间自动增长大小

maxsizeunlimited --表空间最大空间限制d