技术开发 频道

Oracle回滚段的概念及管理

    回滚段的回收和OPTIMAL参数

    OPTIMAL参数指明回滚段空闲时收缩到的位置,指明回滚段的OPTIMAL参数可以减少回滚段空间的浪费。

    创建回滚段

    语法:

CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]] [MINEXTENTS integer] [MAXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}]) ]

    注:
    回滚段可以在创建时指明PRIVATE或PUBLIC,一旦创建将不能修改。
    MINEXTENTS 必须大于等于2
    PCTINCREASE必须是0
    OPTIMAL如果要指定,必须大于等于回滚段的初始大小(由MINEXTENTS指定)

    建议:
    一般情况下,INITIAL=NEXT
    设置OPTIMAL参数来节约空间的使用
    不要设置MAXEXTENTS为UNLIMITED
    回滚段应创建在一个特定的回滚段表空间内

    例:

CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs STORAGE ( INITIAL 100K NEXT 100K MINEXTENTS 10 MAXEXTENTS 500 OPTIMAL 1000K);

    使回滚段在线

    当回滚段创建后,回滚段是离线的,不能被数据库使用,为了使回滚段被事务利用,必须将回滚段在线。可以用以下命令使回滚段在线:

ALTER ROLLBACK SEGMENT rollback_segment ONLINE;

       例:

ALTER ROLLBACK SEGMENT rbs01 ONLINE;

    为了使回滚段在数据库启动时自动在线,可以在数据库的参数文件中列出回滚段的名字。例如在参数文件中加入以下一行:

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;
0
相关文章