暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

UNDO管理主要有两种模式:自动(AUTO)和手动(MANUAL)

zy 2024-08-09
168

Oracle数据库的UNDO管理主要有两种模式:自动(AUTO)和手动(MANUAL)。

在自动模式(undo_management=AUTO)下,Oracle服务器会自动管理UNDO信息和空间。这意味着,当设置为AUTO时,Oracle实例会在启动时自动选择一个UNDO表空间,如果没有UNDO表空间可用,实例将使用SYSTEM表空间存储UNDO记录,这通常不推荐。自动模式下,如果初始化参数文件中包含手动UNDO管理的参数,这些参数将被忽略。

在手动模式(undo_management=MANUAL)下,需要手动创建和管理回滚段(Rollback Segments)。这是Oracle 9i之前的唯一方法。在手动模式下,可以使用rollback_segments参数来分配一个或多个回滚段给实例,如果设置了这个参数,实例将获取所有在参数中命名的回滚段,即使回滚段的数量超过了实例的最小需求。

在自动模式下,Oracle数据库会根据需要自动创建和调整UNDO段,这些UNDO段分布在不同的UNDO表空间中。如果需要,可以使用undo_tablespace参数在启动时指定使用特定的UNDO表空间。在自动模式下,undo_retention参数用于设置UNDO数据在被覆盖前保留的时间长度,单位是秒,这应该基于系统中大查询运行的时间长度来决定,以避免ORA-01555错误。

在手动模式下,如果使用隐含参数_offline_rollback_segments_corrupted_rollback_segments标记当前UNDO表空间的所有回滚段,数据库启动时Oracle可能仍然会创建一个新的非系统回滚段,直到UNDO表空间容量耗尽。

总的来说,Oracle推荐使用自动UNDO管理模式,因为它可以减少DBA的管理负担,并提高数据库的效率和稳定性。如果需要进行特殊的UNDO管理,可以切换到手动模式,并创建和管理自己的回滚段。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论