讲解Row Movement对系统的影响(二)

【源于网络】
 
当开启ROW MOVEMENT后,表被顺利的flashback了,数据被找回。此时,再比较flashback前后记录的ROWID,大多数记录的物理位置都变化。这个过程的内部操作, 可以通过对Flashback Table做SQL Trace来进一步观察。通过Trace,我们不难发现,Flashback Table实际是通过Flashback Query将表中数据进行了一次删除、插入操作,因此ROWID会发生变化。

  Shrink Segment

  Shrink Segment能帮助我们压缩数据段、整理数据碎片、降低高水位,以提高性能、节省空间。它也同样要求开启ROW MOVEMENT。

  SQL代码


  SQL> select username, rowid from test_move;
  USERNAME ROWID
  ------------------------------ ------------------
  DMP AAAwShAAFAAAVlQAAA
  MYTBC AAAwShAAFAAAVlQAAB
  CS2 AAAwShAAFAAAVlQAAC
  TBC AAAwShAAFAAAVlQAAD
  WOW AAAwShAAFAAAVlQAAE
  REPO AAAwShAAFAAAVlQAAF
  ... ...
  SYSTEM AAAwShAAFAAAVlQAAk
  OUTLN AAAwShAAFAAAVlQAAl
  38 rows selected.
  SQL> delete from test_move where username = 'MYTBC';
  1 row deleted.
  SQL> commit;
  Commit complete.
  SQL> alter table test_move disable row movement;
  Table altered.
  SQL> alter table test_move shrink space;
  alter table test_move shrink space
  *
  ERROR at line 1:
  ORA-10636: ROW MOVEMENT is not enabled
  SQL> alter table test_move enable row movement;
  Table altered.
  SQL> alter table test_move shrink space;
  Table altered.
  SQL> select username, rowid from test_move;
  USERNAME ROWID
  ------------------------------ ------------------
  DMP AAAwShAAFAAAVlMAAA
  CS2 AAAwShAAFAAAVlMAAB
  TBC AAAwShAAFAAAVlMAAC
  WOW AAAwShAAFAAAVlMAAD
  REPO AAAwShAAFAAAVlMAAE
  ... ...
  SYSTEM AAAwShAAFAAAVlMAAj
  OUTLN AAAwShAAFAAAVlMAAk
  37 rows selected.
  SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22308399/viewspace-750406/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22308399/viewspace-750406/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值