随笔 - 404  文章 - 4  评论 - 0  阅读 - 25万

undo管理

undo segments的extents 的状态共有四种,free ,active , inacitve, expired  
SQL> select SEGMENT_NAME,TABLESPACE_NAME,STATUS from  dba_undo_extents;


SEGMENT_NAME                  TABLESPACE_NAME                STATUS
------------------------------ ------------------------------ ---------
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      UNEXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU9_3683992930$          UNDOTBS1                      EXPIRED
_SYSSMU9_3683992930$          UNDOTBS1                      EXPIRED
_SYSSMU9_3683992930$          UNDOTBS1                      EXPIRED

    1)free:没有分配给任何一个段
    2)active:区中有事务没有提交
    3)inactive:区中的事务提交了但是还没有达到  undo_retention 的时间
    4)expired:事务提交而且达到了undo_retention
    注:我们可以通过设定undo_retention来保住inactive的区,若没有free,则自动扩展;若扩展不了,则优先使用expired;若还不够,则就会使用inactive,但如果此时retention是guarantee保证的(也就是ALTER TABLESPACE undotbs1 RETENTION GUARANTEE),则无法使用inactive,会报ORA-30036。
小结 :如果你倾向于保证数据一致性,也就是专注于查询,那么你有必要通过ALTER TABLESPACE undotbs1 RETENTION GUARANTEE,来保证一致性,也就是不管你空间够不够用,你都不可以使用inactive状态的区,这样就有可能导致由于没有可用的undo空间而导致数据库hang住,但是这样你可以保证查询语句执行时间在  undo_retention值 之内的所有查询 的一致性。如果你的业务倾向于事务,你可以不去设置  RETENTION GUARANTEE,这样当没有可用的undo空间时,可以去覆盖inactive状态的区,这样就有可能报错ora-01555,不能一致读了,因为你的undo_retention 值是通过咨询你们当前业务的查询语句执行时间最长的那个时间来确定的,也就是说undo_retention > sql执行最长时间,因此你使用不使用GUARANTEE取决于你业务的需求。

posted on   HelonTian  阅读(431)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示