Oracle undo 机制
UNDO作用:
1、回滚,rollback时
2、构造CR块,提供读一致性
3、回滚,实例恢复的时候
undo表空区的状态:
1、free 可以使用的回滚段的区
2、active 表示此区中有活动的未提交的事务块
3、inactive 表示此区中的事务已经提交,但未过undo_retention默认900秒时间,原则上Oracle不会覆盖他,但在UNDO空间不足,压力大时也会被覆盖。
4、expired 过了undo_retention时间的区
alter tablespace undotbs1 retention guarantee
此参数默认为noguarantee,select TABLESPACE_NAME,RETENTION from dba_tablespaces;可查
修改成guarantee表示如果我们希望或想要求inactive区保证在900秒时间内不会被覆盖,只有过了retention时间变成了expired状态才可以被覆盖。
UNOD使用顺序:
先找free区空间,如果不够ORACLE会尝试扩容UNDO表空间,如果不够或不能扩容,则会尝试覆盖使用expired状态的区空间,如果expired也不够,则会尝试覆盖使用inactive状态的区空间,如果设置了guarantee参数不能使用此状态空间,或者inactive空间也用完了,事务则会被挂起。
相关阅读:
相关推荐
spurity 2020-11-10
Streamoutput 2019-12-31
sofast 2019-11-04
oraclemch 2019-10-28
Streamoutput 2019-10-23
csdnlytPractice 2020-06-11
zbcaicai 2020-05-11
langyue 2020-05-03
BiPerler 2020-04-16
FightFourEggs 2020-02-01
heniancheng 2020-01-17
Streamoutput 2019-12-26
xiaoxiangyu 2019-11-06
幻象天空 2019-04-04
joyleeLyhua 2019-07-06
tanyhuan 2019-07-01
hermanncain 2019-07-01
dedebug 2019-06-30
Yaro 2019-06-27