undo表空间与redo日志文件在oracle中的作用非常重要,本文重点介绍undo回滚段的作用与特点,同时简单介绍undo与redo的区别和各自己的作用。
一、undo中数据的特点:
1.是数据修改前的备份,主要是保证用户的读一致性(
为了实现这种功能,类似Redo,Oracle用Undo来记录前备份信息,insert、update、delete的相关信息记录在Undo表空间的回滚段内;记录的信息量,insert最少只需添加记录的rowid、update其次记录所修改的旧值,delete最多记录所删除记录的整行数据;如一事务的修改还未提交,另一事务所查询的数值会由Undo信息提供)
2.在事务修改数据时产生
3.至少保存到事务结束
二、undo数据的作用:
1.回滚(rollback)操作
2.实现读一致性与闪回查询
3.从失败的事务中还原数据
4.非正常停机后的实例恢复
三、undo回滚段的特点:
1.回滚段是由实例自动创建用于支持事务运行的专用段,同样是区和块组成,回滚顶会按实际需要自动进行增长或收缩,是一段可以给指定事务循环使用的存储缓冲区
2.每个事务只会使用一个回滚段,一个回滚段在同一时刻可能会服务于多个事务
3.当一个事务开始的时候,会指定一个回滚段,在事务进行的过程中,当数据被修改时,原始的数据会被复制到回滚段
4.在回滚段中,事务会不断填充盘区,直到事务结束或所有的空间被用完,如果当前的盘区不够用,事务会在段中请求扩展下一个盘区,如果所有已分配的盘区都被用完,事务会覆盖最初的盘区或者在回滚段允许的情况下扩展新的盘区来使用
5.回滚段存在于undo表空间中,在数据库中可以存在多个undo表空间,但同一时刻只能使用一个undo表空间
四、回滚段中的数据类型:
回滚段中的数据主要分为以下三种:
1.Uncommitted undo information; 未提交的回滚数据,该数据所关联的事务并未提交,用于实现读一致性,所以该数据不能被其它事务的数据所覆盖
2.Committed undo information;已经提交但未过期的回滚数据,该数据关联的事务已经提交,但是仍受到undo retention参数保持时间的影响
3.Expired undo information;事务已经提交,而且数据保存时间已经超过undo retention参数指定的时间,属于已经过期的数据
当回滚段满了后,会优先覆盖Expired undo information,当过期数据空间用完后,会再覆盖Committed undo information的区域,这时undo retention参数所规定的保持时间会被破坏,Uncommitted undo information的数据是不允许覆盖的,如果要求提交的数据在undo retention参数规定的时间内不会被覆盖,可以在undo表空间上指定RETENTION GUARANTEE,语法如下:
ALTER TABLESPACE UNDOTBS1 RETENTION GUARANTEE
五、undo数据与redo数据的区别:
1.undo记录数据修改之前的操作,redo记录磁盘数据将要进行的操作
2.undo用于数据的回滚操作,和实现一致性读,redo用于前滚数据库操作
3.undo存储在回滚段里,redo存储在重做日志文件里
4.undo用于在多用户并发的系统里保证一致性读,redo用于防止数据丢失
六、与undo有关的相关参数
undo_management = auto 自动的undo表空间管理
undo_tablespace = undotbs1 设置undo表空间的名称,可以存在多个undo表空间,但同时只能使用一个
undo_retention = 900(秒) 设置快照保存的最少时间,设置后在此时间段内仍有可能会被覆盖
ALTER TABLESPACE UNDO_TS RETENTION GUARANTEE; 强制所有快照必须保存 undo_retention所规定的时间
分享到:
相关推荐
前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍。相对于其他几种日志而言, redo log 和 undo log 是更加神秘,难以观测的。本篇文章将主要介绍这两类事务日志的...
3) 查询UNDO表空间状态及UNDO使用信息。 4) 查询当前节点当前时间数据库等待时间。 5) 获取表空间使用信息。 6) 获取SQL在内存中的执行计划。 7) 获取SQL语句中绑定变量的信息。 8) 查询REDO日志切换速度。 9...
8.17 诊断案例之一:释放过度扩展的UNDO空间 8.18 特殊情况的恢复 8.19 诊断案例之二:回滚段损坏的恢复 第9章 等待事件 9.1 等待事件的源起 9.2 从等待发现瓶颈 9.3 Oracle 10g的...
8.17 诊断案例之一:释放过度扩展的UNDO空间 8.18 特殊情况的恢复 8.19 诊断案例之二:回滚段损坏的恢复 第9章 等待事件 9.1 等待事件的源起 9.2 从等待发现瓶颈 9.3 Oracle 10g的...
8.17 诊断案例之一:释放过度扩展的UNDO空间 8.18 特殊情况的恢复 8.19 诊断案例之二:回滚段损坏的恢复 第9章 等待事件 9.1 等待事件的源起 9.2 从等待发现瓶颈 9.3 Oracle 10g的...
1.临时表的改进 2.持续的全局变量 3.取消默认MyISAM系统表 4.UNDO空间回收 5.UTF8性能改进 6.取消Query Cache ...8.更快、性能更好的Schema和Information Schema ...10.加密表空间中的REDO日志和UNDO日志都将被加密
13.1.3日志线程与联机Redo日志 13.1.4 UNDO表空间 13.2实例恢复 13.2.1 RAC的实例恢复 13.2.2实例恢复的阶段 13.3介质恢复 13.3.1介质恢复的过程 13.3.2物理坏块和逻辑坏块 13.3.3坏块的检测工具 13.3.4块...
9.5.7 临时表和redo/undo 317 9.6 分析undo 321 9.6.1 什么操作会生成最多和最少的undo? 321 9.6.2 ORA-01555: snapshot too old错误 323 9.7 小结 334 第10章 数据库表 335 10.1 表类型 335 10.2 术语 337 ...
8.17 诊断案例之一:释放过度扩展的UNDO空间 396 8.18 特殊情况的恢复 399 8.19 诊断案例之二:回滚段损坏的恢复 402 第9章 等待事件 406 9.1 等待事件的源起 406 9.2 从等待发现瓶颈 408 9.2.1 V$...
联机日志文件(online redo log file) 4 控制文件(control file) 5 归档模式:冷备份,离线备份,热备份,联机备份 6 Spfile:二进制,9i 之后 Pfile:文本,9i 之前 6 可以将 spfile 转换为...
ibdata1:系统表空间 包含数据字典、回滚日志/undolog等 (insert buffer segment/double write segment/rollback segment/index segment/dictionary segment/undo segment) ib_logfile0/ib_logfile1:事务日志/...
6.1.5. 解释严格2PL协议与基本2PL协议的区别 40 6.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应的...
6.1.5. 解释严格2PL协议与基本2PL协议的区别 40 6.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应的...
8. redo log file 重做日志文件............................. 9. control file 控制文件 ................................. 10. parameter file 初始化参数文件......................... 11. password file 口令...
目录 序 ..........................................................................................3.4.3 字典管理和本地管理的表空间..................................................186 3.5 临时文件..........
主要特征: l 完全一至的用户接口 l 运行时配置和监控 l 支持多个连接访问 l 用户策略配置 l 活动历史记录,undo/redo操作 l 安全模式操作 l Scripts能事先安排执行时间和执行内容,脚本支持所有的命令操作。...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
在VC中实现Undo和Redo功能。 VC 利用底层键盘钩子屏蔽任意按键MaskKey 动态链接库实现钩子,然后程序调用。 VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作...