oracle中表空间、数据文件、表、分区表的关系

大家都知道表空间可以对应多个数据文件,而一个数据文件就只能对应一个表空间,分区表可以把表分配到不同的表空间上也就是分配到不同的数据文件上,似乎表和表空间、数据文件、分区表之间的关系就有点难明白了呀?
也不知道我这样理解对不对,一个表可以存在于多个表空间,之所以这样说是因为一个数据文件只能对应一个表空间,反过来就是多个不同的数据文件可以对应多个不同的表空间,基于这点上,结合分区表中表可以跨多表空间的特性,就可以知道一个表可以存在于多个表空间上。如果小弟这样理解有点白痴的话,希望大家指正,小弟不胜感激!!!{:soso_e130:} {:soso_e129:}
标签: 暂无标签
bcskydriver

写了 9 篇文章,拥有财富 118,被 9 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

guo
P4 | 发表于 2013-9-1 13:17:34
不太知道你要表达什么,以下是我的一些理解,希望可以帮到你。
1、一个普通表(未分区的表,不是IOT、且没有lob),是一个段,只能存在于一个表空间中。
2、一个分区表,每个分区是一个段,每个分区可以单独存在于一个表空间,所以分区表才可以跨表空间。
3、普通表转换成分区表有一下四种办法。
     1.) Export/import method
       2. )Insert with a subquery method
       3. )Partition exchange method
       4. )DBMS_REDEFINITION(此种方法在9204以后可用,Oracle 10.2.0.4和11.1.0.7 版本下可能会有 Bug 7007594 - ORA-600 [12261] )
4、关于表(普通表)、表空间、数据文件的关系如下
一个表是表空间中的一个段,表空间根据表的需求,给表分配区,一个区是连续的多个块组成,也就意味着每个区只能存在于一个数据文件。也可以说是一个表空间会有多个数据文件,一个数据文件只能属于一个表空间。
回复

使用道具

P4 | 发表于 2013-9-1 13:28:44
guo 发表于 2013-9-1 13:17
不太知道你要表达什么,以下是我的一些理解,希望可以帮到你。
1、一个普通表(未分区的表,不是IOT、且没 ...

非常感谢 看了之后明白了不少 嘻嘻
回复

使用道具

P4 | 发表于 2013-11-5 17:16:28
我之前也不太懂,现在懂了点。感谢中。。。。
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈