用以下语句申请指定的回滚段:r
SETTRANSTRACTIONUSEROLLBACKSEGMENTrollback_segme
tr
事务将以顺序,循环的方式使用回滚段的区(EXTENTS),当当前区用满后移到下一个区。几个事务可以写在回滚段的同一个区,但每个回滚段的块只能包含一个事务的信息。r
例如(两个事务使用同一个回滚段,该回滚段有四个区):r
1、事务在进行中,它们正在使用回滚段的第三个区;r
2、当两个事务产生更多的回滚信息,它们将继续使用第三个区;r
3、当第三个区满后,事务将写到第四个区,当事务开始写到一个新的区时,称为翻转(WRAP);r
4、当第四个区用满时,如果第一个区是空闲或非活动(使用该区的所有事务完成而没有活动的事务)的,事务将接着使用第一个区。r
回滚段的扩张(EXTEND)r
当当前回滚段区的所有块用完而事务还需要更多的回滚空间时,回滚段的指针将移到下一个区。当最后一个区用完,指针将移到第一个区的前面。回滚段指针移到下一个区的前提是下一个区没有活动的事务,同时指针不能跨区。当下一个区正在使用时,事务将为回滚段分配一个新的区,这种分配称为回滚段的扩展。回滚段将一直扩展到该回滚段区的个数到达回滚段的参数MAXEXTENTS的值时为止。r
回滚段的回收和OPTIMAL参数r
OPTIMAL参数指明回滚段空闲时收缩到的位置,指明回滚段的OPTIMAL参数可以减少回滚段空间的浪费。r
创建回滚段r
语法:r
CREATEPUBLICROLLBACKSEGMENTrollback_segme
tr
TABLESPACEtablespacer
STORAGEINITIALi
tegerKMNEXTi
tegerKMr
MINEXTENTSi
tegerr
MAXTENTSi
tegerUNLIMITEDr
OPTIMALi
tegerKMNULLr
r
注:r
r
回滚段可以在创建时指明PRIVATE或PUBLIC,一旦创r
建将不能修改。r
MINEXTENTS必须大于等于2r
PCTINCREASE必须是0r
OPTIMAL如果要指定,必须大于等于回滚段的初始大小(由MINEXTENTS指定)r
r
建议:r
一般情况下,INITIALNEXTr
设置OPTIMAL参数来节约空间的使用r
不要设置MAXEXTENTS为UNLIMITEDr
回滚段应创建在一个特定的回滚段表空间内r
r
例:r
CREATEROLLBACKSEGMENTrbs01r
TABLESPACErbsr
STORAGEINITIAL100KNEXT100KMINEXTENTS10r
MAXEXTENTS500OPTIMAL1000Kr
r
使回滚段在线r
当回滚段创建后,回滚段是离线的,不能被数据库使用,为了使回滚段被事务利用,必须将回滚段在线。可以用以下命令使回滚段在线:r
ALTERROLLBACKSEGMENTrollback_segme
tONLINEr
r
例:r
ALTERROLLBACKSEGMENTrbs01ONLINE;r
r
为了使回滚段在数据库启动时r