减少一段

  沾一篇来自metalink的好文   

,

  

,

  
Oracle 10 g段收缩
=========================强制性


=========
初始化。奥拉参数“兼容”必须在=10.0

收缩操作只能在本地段执行
管理表空间自动段空间管理(ASSM)。


它是如何工作的
============

1。使表行运动。
完成,ALTER TABLE斯科特。电磁脉冲使行运动;

2。缩小表但不想缩小HWM(高水标)。
完成,ALTER TABLE斯科特。emp缩小空间紧凑;

3。缩小表和HWM。
完成,ALTER TABLE斯科特。emp缩小空间;

4。缩小表和所有依赖指数。
完成,ALTER TABLE斯科特。emp缩小空间级联;

5。缩小MView。
完成下表,ALTER TABLE & lt;表name>缩小空间;

6。缩减指数。
完成,修改索引nam>指数& lt;;缩小空间;

shrink_clause限制,10 gr1一起
========================================
1。你不能指定一个集群这一条款,集群表,或任何
,,长列对象。
2。段收缩不支持LOB段即使级联是
,,指定。
3。段收缩不支持表和基于函数的索引。
4。这一条款不收缩映射表或溢出段
,,index-organized表,即使你指定级联。
5。你不能收缩的表是主表上提交
,,物化视图。Rowid物化视图必须重建后
,,缩小操作。
6。不支持表与域索引。

限制shrink_clause, 10 gr2
========================================
1。你不能指定一个集群这一条款,集群表,或任何
,,长列对象。
2。段收缩不支持具有基于函数的索引的表或
,,位图连接索引。
3。这一条款不缩小index-organized表的映射表,
,,即使你指定级联。
4。你不能指定为一个压缩表这一条款。
5。你不能收缩的表是主表上提交
,,物化视图。Rowid物化视图必须重建后
,,缩小操作。
6。不支持表与域索引。

限制shrink_clause, 11 gr1一起
========================================
1。你不能把这一条款与其它条款相同的ALTER TABLE
,,声明。
2。你不能指定一个集群这一条款,集群表,或任何
,,长列对象。
3。段收缩不支持具有基于函数的索引的表或
,,位图连接索引。
4。这一条款不缩小index-organized表的映射表,即使
,,您指定的级联。
5。你不能指定为一个压缩表这一条款。
6。你不能收缩的表是主表上提交
,,物化视图。Rowid物化视图必须重建后收缩
,,操作。

查询/DML并发
=======================
段收缩都是用的在线阶段DML-compatible锁。因此摘要
可以在此阶段共存。在space-release/HWM调整阶段,
不兼容的锁将获得在桌子上,因此,摘要将在
块萎缩。

没有摘要用户可见的收缩会引起的错误。

查询缓存段HWM。甲骨文保证HWM总是向前,
因此CR(一致读)不需要段头和区段映射块。唯一的操作
,导致部分HWM向后移动下降和截断。

我们允许查询共存与下降/截断ddl由于查询不获得锁。
如果下降后/截断,空间被重用在其他一些领域,然后
查询得到“8103 -对象不存在“外部错误消息。

段收缩期间,segmentâ & # 128; & # 153; s化身数量改变的位图
块和段头段HWM时调整。后续数据块
变化发生在这更新的版本号码。

查询跨度这个阶段可以die 与外部错误“10632 -无效rowid”


1)如果他们读更新后的位图块(有新公司#)。注意,这个失败
,,如果空间不重用

2)空间得到重用其他对象或同一对象。null

减少一段