目前正在学习oracle 9i(Windows NT2000 黄河 著),在学习体系结构的时候有几个问题很模糊,主要是关于表空间、段之间的联系,在此求教。1.
书上说:一个段只能属于一个对象(表或索引),而后面又说所有未分区的表(索引)都使用一个段来保存数据,
那这样的话 前后岂不是矛盾吗??2.
是不是用户表空间只能存放数据段,不能存放索引段和临时段???因为我的理解是它们分别归属于索引表空间和
临时表空间??
或者换个角度,在执行CREATE INDEX时,自动为其创建的索引段,是不是只属于索引表空间而不属于用户表空间??

解决方案 »

  1.   

    1.“未分区的表(索引)都使用一个段”的话,未分区的表肯定不止一个吧?那就是多个对象对应一个段了,不是和前面矛盾吗???2.用户表空间如果能存放索引段的话,那这些索引段和 “索引表空间”中的索引段有什么不同呢???求详细解释~  THANKS !!!
      

  2.   

    1、没错。一个段及组成段的扩展只能属于一个表空间。未分区的表或索引只有一个段,而对于分区表(索引)可以把不同的分区放在不同的表空间上,所以,分区表(索引)可以由不同的段组成。
    2、用户表空间广义上讲是用户可以定义和使用的表空间(其实SYSTEM空间用户也可以建表什么的),除临时表空间、UNDO表空间(这两种类型由oracle管理,用户不能"使用")。
      

  3.   

    嗯 ,第一点我明白了 确实是理解错误了。第2点还是不太清楚,能不能和我说一下分配过程呢?比如执行CREATE INDEX时,自动为其创建的索引段,而后的索引段是属于哪个表空间的呢?THANKS!!
      

  4.   

    用户表空间分几种类型,有临时表空间、持久表空间、和UNDO表空间,只有持久表空间可以存放正常的数据段、索引段;回滚段只能放在回滚表空间中,用于存放UNDO信息;临时表空间用于存放临时段,主要在排序或建临时表等情况时用到。
      

  5.   

    如果表里面又lob字段的话,还会有存储lob字段的段.