ITPub博客

首页 > 数据库 > Oracle > 01 表空间&数据文件

01 表空间&数据文件

Oracle 作者:milaniceman 时间:2014-03-12 15:52:23 0 删除 编辑
1 概述:用于存放数据库表、索引、回滚段等对象的磁盘空间叫表空间(TableSpace)
2 11g版本默认的主要表空间:
A、System表空间:用于存放Oracle系统内部表和数据字典数据,对应的数据文件是system01.dbf
  查询SYSTEM表空间内存放的对象及其拥有者
  select segment_type,owner,tablespace_name from dba_segments where tablespace_name='SYSTEM'
  查询各个用户在SYSTEM表空中存放的对象数量
  select owner,count(*) from dba_segments where tablespace_name='SYSTEM' group by owner
题外话:如果用户不小心将自己的表等对象存储到SYSTEM上,管理员应该将该用户的对象从SYSTEM表空间移动到其它表空间上,以保证SYSTEM表空间只存放oracle系统的内部信息,而不是应用系统的数据。

B、Sysaux,11g新增加的表空间,主要用于存放Oracle系统内部的常用样例用户的对象,如存放CRM用户的表和索引等,由Oracle系统内部自动维护,对应的数据文件是sysaux01.dbf
题外话:可以对SYSAUX表空间进行监视、增加数据文件,但不能对其执行删除,改名或设置为READ ONLY操作

C、撤销表空间(Undo TableSpace),用于存储撤销信息的表空间,在创建Oracle实例后,自动创建一个名字为UNDOTAS1的撤销表空间,对应的文件是undotbs01.dbf
D、User表空间

查询当前数据库的所有表空间及其对应的数据文件:
select file_name,tablespace_name,bytes from dba_data_files;
结果如下:
/oratest/app/oracle....user01.dbf      USERS     5242880

临时表空间:存放与排序有关的特殊表空间,当操作中需要进行排序时,系统将排序的数据临时存放在该表空间内,排序处理完成后即可释放排序数据所占的空间;
查询临时表空间信息
select tablespace_name,file_name from dba_temp_files;
结果如下:
TEMP                     /oratest/app/oracle...temp01.dbf

3 建立表空间,需注意几点:
  • 是创建小文件表空间还是大文件表空间(默认是小文件表空间)
  • 是使用局部盘区管理方式还是使用传统的目录盘区管理方式(默认为局部盘区管理)
  • 手工管理段空间还是自动管理段空间(默认为自动)
  • 是否是用于临时段或者撤销段的特殊表空间
A、语法
Create [SmallFile/BigFile] TABLESPACE tablespace_name -- tablespace_name表空间名字,是大小文件
DATAFILE '/path/filename' SIZE integer [k/m] REUSE -- 数据文件路径和名字,REUSE表示若该文件存在,则清除该文件再重新建立该文件,若该文件不存在,则建立该文件
[AUTOEXTEND [OFF|ON] NEXT integer [k/m] REUSE] -- 表示数据文件为自动扩展或者非自动扩展,如果自动扩展,则要设置NEXT值
[MAXSIZE [UNLIMITED / integer[k/m] ] ]-- 表示当数据文件自动扩展时,允许数据文件扩展的最大长度字节数
[MINIMUM EXTENT integer [k/m]] -- 指定最小的长度,默认由操作系统和数据库块决定
[DEFAULT STORAGE storage]--指定以后要创建表、索引及簇的存储参数值
[ONLINE/OFFLINE]--创建表空间时可以指定为在线或者离线
[LOGGING/NOLOOGING]--该表空间内的表在数据加载操作时是否产生日志,默认为产生日志
[PERMANENT/TEMPORARY]--创建的表空间为永久或临时表空间,默认为永久表空间
[EXTENT MANAGEMENT
[DICTIONARY/LOCAL [AUTOALLOCATE|UNIFORM SIZE integer[k/m]]]]
-- DICTIONARY/LOCAL数据字典管理表空间还是本地化管理表空间,默认为local,Oracle不推荐使用数据字典管理的表空间,如采用本地化管理表空间,则会有以下两个选项
-- AUTOALLOCATE:指表空间扩展时,每次扩展时盘区的大小的系统自动指定
-- UNIFORM SIZE:指定表空间扩展时,盘区按照等同大小进行,默认为1MB




<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23095995/viewspace-1114984/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-12-29