Oracle Shrink 一张1T的表释放空间

本文介绍了如何通过Oracle Shrink操作来释放1.3T的大表空间,涉及分批删除数据、检查表碎片、执行Shrink操作及其影响。在删除2亿行后,执行Shrink操作成功将表空间减小到817GB,提醒注意Shrink过程中可能带来的undo和归档日志问题,以及expdp/impdp作为快速释放空间的替代方案。
摘要由CSDN通过智能技术生成

生产上有1张1.3T,包含5亿行记录的表,开发说可以删除2亿行。决定分批删除数据,然后使用Shrink  收缩表,从而达到释放表空间的目的

当然 还有其他办法去释放空间比如1.导出导入,2在线从定义,3.create as select 等等,这些本文不讨论,只采用shrink 的方式处理


select t.NUM_ROWS, t.BLOCKS,ROW_MOVEMENT
  from dba_tables t
 where t.TABLE_NAME = 'T1';

  NUM_ROWS     BLOCKS ROW_MOVEMENT
---------- ---------- ------------------------
 527895313  173600557 DISABLED

select T.owner,
       T.tablespace_name,
       T.segment_name,
       T.BYTES / 1024 / 1024/1024 AS g
  from dba_segments t
 where t.tablespace_name = 'TBS_POSDBONL_DATA'
   AND T.segment_name = 'T1';

OWNER                   TABLESPACE_NAME        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值