Oracle回滚段的概念,用法和规划及问题的解决

http://tech.ddvip.com   2006年08月05日    社区交流

本文详细介绍Oracle回滚段的概念,用法和规划及问题的解决

  ROLLBACK_SEGMENT=(rbs01,rbs02)

  修改回滚段的存储参数

  可以使用ALTER ROLLBACK SEGMENT命令修改回滚段的存储参数(包括OPTIMAL,MAXEXTENTS)。

  语法:

    ALTER ROLLBACK SEGMENT rollback_segment
  [STORAGE ([NEXT integer[K|M]]
       [MINEXTENTS integer]
       [MAXEXTENTS {integer|UNLIMITED}]
       [OPTIMAL {integer[K|M]|NULL}]) ]

  例:

  ALTER ROLLBACK SEGMENT rbs01 STORAGE (MAXEXTENTS 1000);

  回收回滚段的空间

  如果指定了回滚段的OPTIMAL参数,ORACLE将自动回收回滚段到OPTIMAL指定的位置。用户也可以手动回收回滚段的空间。

  语法:

  ALTER ROLLBACK SEGMENT rollback_segment SHRINK [TO integer [K|M]];

  说明:

  如果不指明TO integer的数值,ORACLE将试图回收到OPTIMAL的位置。

  例:

  ALTER ROLLBACK SEGMENT rbs01 SHRINK TO 2M;

  使回滚段离线

  为了达到以下两个目的将要回滚段离线:

  1.阻止新的事务使用该回滚段;

  2.该回滚段必须删除。

  语法:

  ALTER ROLLBACK SEGMENT rollback_segment OFFLINE;

  例:

  ALTER ROLLBACK SEGMENT rbs01 OFFLINE;

  说明:

  如果有事务正在使用该回滚段,运行该命令后,回滚段的状态将是PENDING OFFLINE。事务结束后,状态将改为OFFLINE,可以通过V$ROLLSTAT查询回滚段的状态。

  删除回滚段

  当回滚段不再需要或要重建以改变INITIAL,NEXT或MINEXTENTS参数时,可以将其删除。要删除回滚段,不许使该回滚段离线。

责编:豆豆技术应用

正在加载评论...