oracle-undo

2024-01-02 18:22:41

tips:串行化隔离级别:事务开始后,对一张表不会被别人影响,对于审计工作比较有用,避免了幻读。
undo表空间:自动生成段,自动生成区,自动维护的,不像一般的表空间,有表才有段。同时oracle自动使用undo段。我们只要保证undo表空间大小就可以了。
在这里插入图片描述
在这里插入图片描述
undo表空间中的段
在这里插入图片描述
0段是系统表空间的undo段,对数据字典进行回滚时候(对oracle对象进行增加减少),使用到。
1-10是正常的undo段
某个段

uodo段管理方式
9i之前,区的分配手工做,之后都是自动管理。
在这里插入图片描述

uodo的三个作用
一、将修改前的数据保存,保证回滚
二、每个事务的独立性,,提供读一致性(A会话和B会话不影响),A 如果已经在修改数据,同时没有提交,,B回话在查询时候,新开一个buffer cache(cr块),将uodo段的内容读进去。(mvcc)
三、实例的崩溃恢复。前滚恢复的脏块有可能是未提交的,需要回滚。

undo段中区的状态
free:未分配的
expired:过期(图中是900秒)
inactive:提交后,提交后,正常来讲是可以被复用的。但一般保留一段时间。
active:区中的事务还没有提交
在这里插入图片描述
参数保留900秒,15分钟

文章来源:https://blog.csdn.net/lubo268/article/details/135341649
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。