10g 中RETENTION GUARANTEE 的作用

http://www.cnblogs.com/yifan268/archive/2008/07/23/1249851.html

1、先解释下undo_retention

设置undo_retention,保证commit 后的数据在undo segment中保留多长时间。但是并不能保证commit后的undo 信息在undo_retention的时间内一定不被覆写,当undo segment不够时,还是会覆盖已commit的undo 信息。

2、如果需要保证在undo_retention时间内undo 信息一定不被覆写的话,可以对undo segment设置RETENTION GUARANTEE。但是这个参数受到undo_retention和undo size的限制。如果undo size 太小,undo_retention设置太久,设置retention guarantee 时就会报错:

 

ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS2'

 

3、设置该参数

 alter tablespace undotbs2 retention guarantee;

 

撤销该参数

 alter tablespace undotbs2 retention noguarantee;

你可能感兴趣的:(10g 中RETENTION GUARANTEE 的作用)