广告
返回顶部
首页 > 资讯 > 数据库 >oracle中undo和redo有什么区别
  • 926
分享到

oracle中undo和redo有什么区别

2024-04-02 19:04:59 926人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关oracle中undo和redo有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、undo中数据的特点:1.是数据修改前的备份

这期内容当中小编将会给大家带来有关oracle中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所规定的时间

上述就是小编为大家分享的oracle中undo和redo有什么区别了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: oracle中undo和redo有什么区别

本文链接: https://www.lsjlt.com/news/57011.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle中undo和redo有什么区别
    这期内容当中小编将会给大家带来有关oracle中undo和redo有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、undo中数据的特点:1.是数据修改前的备份...
    99+
    2022-10-18
  • UNDO与REDO的区别是什么
    这篇文章主要讲解了“UNDO与REDO的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“UNDO与REDO的区别是什么”吧!UNDO 为了解决一致性...
    99+
    2022-10-19
  • MySQL中的redo log和undo log日志有什么用
    这篇文章主要介绍“MySQL中的redo log和undo log日志有什么用”,在日常操作中,相信很多人在MySQL中的redo log和undo log日志有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-20
  • oracle中rownum和row_number()有什么区别
    在Oracle中,ROWNUM和ROW_NUMBER()都是用于进行行号分配的函数,但它们有一些关键的区别。1. ROWNUM是一个...
    99+
    2023-08-18
    oracle
  • oracle中dg和adg有什么区别
    在 Oracle 数据库中,DG(Data Guard)和 ADG(Active Data Guard)是两种不同的数据保护和高可用...
    99+
    2023-08-25
    oracle
  • mysql和oracle有什么区别
    小编给大家分享一下mysql和oracle有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL和Oracle都是流...
    99+
    2022-10-18
  • mysql中redo log和binlog的区别有哪些
    这篇文章给大家分享的是有关mysql中redo log和binlog的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。想跟大家聊聊关于 mysql 中的两个小的知识点:redo log 和 bi...
    99+
    2023-06-29
  • mysql和oracle的区别有什么
    一、宏观上: Oracle是大型的数据库而Mysql是中小型数据库;Mysql是开源的,Oracle是收费的,且价格昂贵。 Oracle支持大并发,大访问量,是OLTP的最好的工具。 安装占用的内存也是有差别,Mysql安装完成之后占用的内...
    99+
    2023-10-21
    数据库 oracle mysql
  • oracle和sql有什么区别吗
    oracle和sql的区别:1、开放性,oracle能在所有主流平台上运行,而sql只能在windows上运行;2、可伸缩性和并行性,oracle的并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩...
    99+
    2023-07-10
  • oracle中{}和${}区别是什么
    这篇文章主要介绍“oracle中{}和${}区别是什么”,在日常操作中,相信很多人在oracle中{}和${}区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”orac...
    99+
    2022-10-18
  • Oracle中的BYTE和CHAR有什么区别呢?
    Oracle定义字符串类型VARCHAR2和CHAR指定长度的用法如下:varchar2(<SIZE> <BYTE|CHAR>) <SIZE>是介于1~4000...
    99+
    2022-10-18
  • db2和oracle语法有什么区别
    db2和oracle语法区别:1、SQL语法差异,虽然db2和oracle都使用结构化查询语言,但它们在语法方面存在一些差异;2、db2和oracle拥有不同的数据类型;3、外键约束定义,db2可以定义在创建表时或者使用“ALTER TAB...
    99+
    2023-07-10
  • oracle的11g和12c有什么区别
    oracle的11g和12c的区别:1、架构和功能;2、备份和恢复;3、数据压缩;4、数据库性能;5、安全性等。详细介绍:1、11g采用了传统的架构,也称为单例架构,12c则引入了多租户架构,也称为容器数据库架构;2、在备份和恢复方面,12...
    99+
    2023-08-07
  • MySQL日志之redo log和binlog的区别是什么
    这篇文章主要介绍了MySQL日志之redo log和binlog的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。redo log和...
    99+
    2022-10-18
  • Oracle与Mysql有什么区别
    Oracle与Mysql有什么区别,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  Oracle与Mysql的区别:  Ora...
    99+
    2022-10-18
  • java中 ${} 和 #{} 有什么区别
    目录前言1.功能不同1.1 ${} 的问题2.使用场景不同3.安全性不同3.1 使用 ${} 实现用户登录3.2 使用 #{} 实现用户登录总结前言 ${} 和 #{} 都...
    99+
    2022-11-13
  • /” 和 “\” 有什么区别
    键盘上的“/” 和 “\”这个两个“斜杠”有什么区别。 通常,“/”被叫作“正斜杠”,英语是forward slash,经常简称为slash。Windows命令用\,中文排版用/。而“\” 被叫作“反斜杠”,英语是backward sla...
    99+
    2023-09-25
    前端 java 服务器 Powered by 金山文档
  • Oracle中in和exists的区别是什么
    本篇文章给大家分享的是有关Oracle中in和exists的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、第一种情况selec&...
    99+
    2022-10-18
  • oracle中exp和imp的区别是什么
    oracle中exp和imp的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  exp和imp的输入都是名字和值对:exp pa...
    99+
    2022-10-18
  • 在Oracle中session和process的区别什么
    这篇文章将为大家详细讲解有关在Oracle中session和process的区别什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。对应元数据表v$resou...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作