逻辑存储结构-表空间
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表空间是数据库中最大的逻辑存储单位,同时也是直接与数据库物理结构相关联的逻辑单位,每个表空间都是有一个或多个(最多不超过1023个)数据文件组成.
数据库中创建的对象都保存在指定的表空间中,甚至一个对象可能存在于多个表空间(参考段相关内容进行理解)
Oracle将数据逻辑地存放在表空间里,而物理存放在数据文件里,表空间在任何一个时刻都只能属于一个数据库,一个数据库一般有多个表空间,每个表空间都由一个或多个操作系统的数据文件组成.但是一个操作系统的数据文件只能属于一个表空间
提示:10g版本中新引入的一个BIGFILE(big文件)的表空间类型,可以在创建表空间时指定,BIGFILE表空间只能包含一个数据文件或临时文件,不过该数据文件最大能够支持4G(2的32次方)个数据块即使当前数据库的块大小为2KB,该表空间也能拥有8TB的存储空间,如果将数据库的块大小设置为32KB则该表空间最大能达到128TB(如果不考虑文件系统中单个文件最大空间的限制)
在默认情况下创建的表空间是SMALLFILE(小文件)表空间,这一类表空间最多能够拥有1022个数据文件,单个数据文件最大拥有0.4G(2的22次方)个数据块,如果将数据库的块大小设置为32KB,则对于SMALLFILE的表空间类型,最大也将接近128TB(同样如果不考虑文件系统中单个文件最大空间的限制),比BIGFILE类型略小.
--创建大文件表空间
SQL> create bigfile tablespace t1
2 datafile
3 '/u01/tablespace/t1.dbf' size 100m autoextend on;
Tablespace created.
SQL>
bigfile关键字表示创建的表空间是一个大文件表空间
datafile指定这个表空间的路径和组成这个表空间的数据文件
size指定这个大表空间的大小
autoextend on表示允许该大文件不够用时自动增长
表空间类型
为加强控制和方便维护,DBA创建表空间时,oracle识别两种类型的表空间
系统表空间(SYSTEM)与非系统表空间
SYSTEM表空间:
随数据库一起创建
所有数据库均需要system
系统表空间中存有数据字典
系统表空间还包含了系统还原(回滚)段
虽然在系统表空间中可以存放用户数据,但考虑到oracle系统的效率和管理上的方便,在系统表空间上不应该存放任何用户数据.
非系统表空间
非系统表空间(non-system)可以有数据库管理员手工创建,支持灵活的管理数据
库
在非系统表空间中存储的单独的段,这些段可以是用户的数据段,索引段,还原段和临时段
非系统表空间可以方便的磁盘空间的管理,更好的控制分配给用户磁盘空间的数据量,
非系统表空间可以将静态数据和动态数据有效的分开,也可以按照备份的要求将数据分开存放.