`
ldjsyl
  • 浏览: 192448 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle的表空间和数据文件

阅读更多

一直不是很清楚oracle 的表空间是什么,今天抽空了解了一下,原来就是数据文件的逻辑空间。下面首先介绍一下oracle的数据存储体系

一、数据库的存储体系

 

上图就是Oracle数据的存储结构。其中Tablespace就是数据逻辑区域,Segment(段)是指定逻辑结构所占用的空间集合,Extent(分区)是分配单元,一个分区可以有多个block,而block是基本分配单元。总的来说,DB>Tablespace>Segment>Extent>block,一个段可以跨几个datafile,而分区不可以,即一个段只属于一个表空间,不过可以跨两个数据文件。

 

二、表空间的分类

(1)、系统表空间:它是在创建数据库时创建的,包括数据字典、系统回滚段等;

(2)、非系统表空间:分离的段,方便空间管理,控制用户对表空间的使用。

在OEM->存储->表空间中可以看到有SYSTEM表空间、USER表空间、UNDO、Temp等表空间,后三者属于非系统表空间。

 

三、表空间的创建

在OEM->存储->表空间中也可以创建,当然手动也可以创建。

create tablespace xxx [datafile '...'] [size xxx] [extent management local/dictionary] [default storage(xxx)]

表空间的管理主要有两种方式:一是本地管理(local),推荐使用,可以减少对数据字典的增用,当分配或回收block是没有回滚数据,同时也没有碎片压缩问题。另一种是字典管理(dictionary),不推荐。上述的几种表空间中,Undo Tablespace必须是本地管理、Temp表空间推荐使用本地管理。

2
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics