目前的建表语句如下所示:TABLESPACE "A" PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 
   STORAGE ( INITIAL 6000M NEXT 100M MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 )        ★1
   LOGGING 
 LOB("B1") STORE AS ( TABLESPACE "A"   
   STORAGE ( INITIAL 200M NEXT 100M MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 )         ★2
   ENABLE STORAGE IN ROW NOCACHE CHUNK 8192 PCTVERSION 10 ) 
 LOB("B2") STORE AS ( TABLESPACE "A"   
   STORAGE ( INITIAL 200M NEXT 100M MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 )         ★3 
   ENABLE STORAGE IN ROW NOCACHE CHUNK 8192 PCTVERSION 10 ) ★1 在这里我初始化了6G大小的空间给A ★2 ,★3 这里也定义了lob的大小 我想问下 ★2 ,★3 中定义的大小 是不是包括在A 的 6G之内的 (我是想实现这个样子)
如果不是的话 那就是说 ★2 ,★3  有可能是自动增长的那定义也没有意思了吧?希望有高手可以帮忙解答下, 不胜感激。

解决方案 »

  1.   


    ★2 ,★3 中定义的大小不包括在A 的 6G之内的可能通过下面的查询得到SELECT segment_name,segment_type,bytes/1024/1024 Mb 
      FROM user_segments 
     WHERE segment_name='A'
    UNION ALL
    SELECT segment_name,segment_type,bytes/1024/1024 Mb 
      FROM user_segments 
     WHERE segment_name IN(SELECT segment_name 
                             FROM dba_lobs 
                            WHERE table_name='A');
      

  2.   

    >> zcs_1谢谢回复.果然不包括在里面的阿....我现在是用ENABLE STORAGE IN ROW准备和数据一起保存
    lob里面是图片  
    那我直接用 DISABLE STORAGE IN ROW  保存到另外的地方就好了是吧?
    另外 NEXT里面100M~200M 会不会是瓶劲 如果手机访问的话 
      

  3.   

    ENABLE STORAGE IN ROW:如果blob小于4K,则和表数据一起保存,大于4K,则单独保存
    DISABLE STORAGE IN ROW:不管blob多大,都单独保存NEXT 100M-200M没有关系,只是在segment空间不足时扩展表空间,如果对性能有影响,可以在表空间用光前手工扩展。ALTER TABLE a ALLOCATE EXTENT;
    ALTER TABLE a MODIFY LOB (b1) (ALLOCATE EXTENT);
    ALTER TABLE a MODIFY LOB (b2) (ALLOCATE EXTENT);