有张表有个lob字段,相应的lobsegment 达到20g
SQL> select segment_name,segment_type,bytes/1024/1024,
2owner,tablespace_name
3from dba_segments
4where segment_name='SYS_LOB0000049761C00002$$'
5order by tablespace_name,segment_type,bytes,segment_name desc;
SEGMENT_NAME
SEGMENT_TYPE BYTES/1024/1024 OWNER TABLESPACE_NAME
--------------------------- -------------- --------------- --------- ---------------
SYS_LOB0000049761C00002$$ LOBSEGMENT
20864 XXXX XXXXX
我想看看是不是业务delete 造成高水位没有回收
我用dbms_space.free_blocks查但是报错
SQL> declare
2free_blocks number;
3begin
4DBMS_SPACE.FREE_BLOCKS('xxxxx', 'SYS_LOB0000049761C00002$$', 'LOB',0 ,free_blocks);
5dbms_output.put_line('Nb of free blocks = '||free_blocks);
6end;
7/
declare
*
ERROR at line 1:
ORA-10618: Operation not allowed on this segment
ORA-06512: at "SYS.DBMS_SPACE", line 152
ORA-06512: at line 4
在9i下测试,能够通过,10g下过不去。
请高手支招
|