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;



 

posted on 2008-07-23 17:43  Alex.Zhang  阅读(2322)  评论(0编辑  收藏  举报