欢迎光临
我们一直在努力

oracle 分区表move和包含分区表的lob move

表包含lob字段,需要收回空间,首先move表,move表,move完表后lob的空间并不会释放,还需要针对lob字段进行move:
非分区表lob的move:
alter table  T_SEND_LOG move  lob(MESSAGE) store as (tablespace DATALOB);
分区表lob的move:
alter table  T_SEND_LOG move  partition p2018 lob(MESSAGE) store as (tablespace DATALOB);

分区表move:
alter table  T_SEND_LOG move partition p2018;

move表后记得rebuild索引。
批量生成语句参考:
针对表空间:
select 'alter table  '||a.owner||'.'||a.table_name||' move lob('||a.COLUMN_NAME||') store as (tablespace DATALOB);'
from dba_lobs a,DBA_SEGMENTS b where a.owner in ('APP')
and a.OWNER=b.OWNER and a.SEGMENT_NAME=b.SEGMENT_NAME and b.TABLESPACE_NAME!='PACSLOB';
针对表:
select 'alter table  '||a.owner||'.'||a.table_name||' move lob('||a.COLUMN_NAME||') store as (tablespace DATALOB);'
from dba_lobs a,DBA_SEGMENTS b where a.owner in ('APP')
and a.OWNER=b.OWNER and a.SEGMENT_NAME=b.SEGMENT_NAME and a.TABLE_NAME = 'T_SEND_LOG';

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。