SHRINK SEGMENT降低高水位

在线段收缩支持:LOB段,IOT溢出段;
 使用在线段收缩回收HWM以下碎片的空闲空间,段收缩的好处:
 更好的缓存使用率,提高OLTP的性能;
 减少全表扫描的数量,提高DSS的性能;
 段收缩是在线的,索引在段收缩期间维护,不要求额外的磁盘空间。
 段收缩收回HWM以下和以上的未使用空间,而空间释放仅仅释放高水位以上的未使用空间。默认情况下,段收缩压缩段,调整高水位,释放空间。
 使用段收缩前必须使用ALTER TABLE ... ENABLE ROW MOVEMENT启用行移动,因为段收缩要求行移动到新位置。
 段收缩只能在本地管理ASSM表空间上执行,ASSM中所有的段除以下外均可收缩:
 IOT映射表;
 物化视图基于ROWID;
 具有函数索引的表;
 调用段收缩
 调用段收缩前,查看顾问的发现和推荐。使用ALTER TABLE, ALTER INDEX, ALTER MATERIALIZED VIEW, ALTER MATERIALIZED VIEW LOG语句的SHRINK SPACE子句完成;
 两个可选子句控制收缩操作的处理:
 COMPACT:Oracle消除碎片并且压缩数据,但是推迟重设HWM并且释放空间。可以在非高峰期不带COMPACT执行SHRINK SPACE完成第二阶段。
 CASCADE:使用该子句扩展段收缩到所有的依赖对象。可以运行DBMS_SPACE的OBJECT_DEPENDENT_SEGMENTS查看所有依赖于给定对象的段。
 ALTER TABLE employees SHRINK SPACE CASCADE;
 ALTER TABLE employees MODIFY LOB (perf_review) (SHRINK SPACE);
 ALTER TABLE customers MODIFY PARTITION cust_P1 SHRINK SPACE;
 ALTER TABLE cities SHRINK SPACE CASCADE;
 ALTER TABLE cities OVERFLOW SHRINK SPACE;

Oracle 10g

语法:

alter table <table_name> shrink space [ <null> | compact | cascade ];

alter table <table_name> shrink space compcat;

收缩表,但会保持 high water mark; (这怎么理解?相当于没回缩?)

相当于把块中数据打结实了。没有变动hwm

alter table <table_name> shrink space;

收缩表,降低 high water mark;

alter table <table_name> shrink space cascade;

收缩表,降低 high water mark,并且相关索引也要收缩一下下。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值