Oracle 11g中Shrink Database Segment Online

Oracle 11g中的在线Segment Shrink操作可以回收高水位线以下的碎片空间,提高OLTP和DSS性能。这是一个在线、就地的操作,允许在数据移动期间进行DML和查询,且维护索引可用。该操作需要开启行移动并禁用基于rowid的触发器,仅适用于ASSM表空间中的特定段类型。它可以应用于表、索引组织表、索引、分区等,可以通过`ALTER TABLE`语句控制,并有`COMPACT`和`CASCADE`选项以控制操作和影响范围。示例包括收缩表及其依赖段、LOB段、分区和IOT索引段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Online segment shrink 在oracle数据库段中重新回收利用高水位线以下成碎片的空闲空间。Segment shrink 的好处有:

     1压缩的数据会导致更好的缓存利用率,从而产生更好的在线事务处理(OLTP)性能。

     2收缩的数据在全表扫描时需要更少的块被扫描,这反过来又导致决策支持系统(DSS)的更好的性能

2、Segment shrink是一个在线,就地操作。DML操作和查询可以在段收缩的数据移动阶段期间进行。当空间回收时,并发的DML操作收缩操作结束时的阻塞一段短时间。索引是在收缩操作期间维护的,可以保持在操作完成后可用。段收缩不需要分配额外的磁盘空间。

3、Segment shrink收回高水位线上下闲置的空间。相比之下,Deallocating UnusedSpace只收回高水位线上面未使用的空间。在shrink操作中,,默认情况下,数据库压缩段,调整高水位标记,释放回收空间。 

4、段收缩要求行被转移到新的地点。因此,你必须首先使你想收缩的对象允许行运动,禁用任何基于rowid上定义触发器对象。使用ALTERTABLE ...ENABLEROWMOVEMENT命令开启行移动。

5、收缩操作只可以在有自动段空间管理(ASSM)功能的本地管理的表空间中的段上执行。在一个ASSM表空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值