知识大全 OracleUndoRedo通俗理解

Posted 操作

篇首语:不读书的人,思想就会停止。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 OracleUndoRedo通俗理解相关的知识,希望对你有一定的参考价值。

OracleUndoRedo通俗理解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  什么是REDO

  REDO记录transaction logs 分为online和archived 以恢复为目的

  比如 机器停电 那么在重起之后需要online redo logs去恢复系统到失败点

  比如 磁盘坏了 需要用archived redo logs和online redo logs区恢复数据

  比如 truncate一个表或其他的操作 想恢复到之前的状态 同样也需要

  什么是UNDO

  REDO 是为了重新实现你的操作 而UNDO相反 是为了撤销你做的操作 比如你得一个TRANSACTION执行失败了或你自己后悔了 则需要用 ROLLBACK命令回退到操作之前 回滚是在逻辑层面实现而不是物理层面 因为在一个多用户系统中 数据结构 blocks等都在时时变化 比如我们 INSERT一个数据 表的空间不够 扩展了一个新的EXTENT 我们的数据保存在这新的EXTENT里 其它用户随后也在这EXTENT里插入了数据 而此时我想ROLLBACK 那么显然物理上讲这EXTENT撤销是不可能的 因为这么做会影响其他用户的操作 所以 ROLLBACK是逻辑上回滚 比如对INSERT来说 那么ROLLBACK就是DELETE了

  MIT 以前 常想当然地认为 一个大的TRANSACTION(比如大批量地INSERT数据)的MIT会花费时间比短的TRANSACTION长 而事实上是没有什么区别的

  因为ORACLE在MIT之前已经把该写的东西写到DISK中了

  我们MIT只是

   产生一个SCN给我们TRANSACTION SCN简单理解就是给TRANSACTION排队 以便恢复和保持一致性

   REDO写REDO到DISK中(LGWR 这就是log file sync) 记录SCN在ONLINE REDO LOG 当这一步发生时 我们可以说事实上已经提交了 这个TRANSACTION已经结束(在V$TRANSACTION里消失了)

   SESSION所拥有的LOCK(V$LOCK)被释放

   Block Cleanout(这个问题是产生ORA : snapshot too old的根本原因) ROLLBACK ROLLBACK和MIT正好相反 ROLLBACK的时间和TRANSACTION的大小有直接关系 因为ROLLBACK必须物理上恢复数据 MIT之所以快 是因为ORACLE在MIT之前已经作了很多工作(产生UNDO 修改BLOCK REDO LATCH分配) ROLLBACK慢也是基于相同的原因

   UNDO表空间用于存放UNDO数据 当执行DML操作时 Oracle <;会将这些操作的旧数据写入UNDO段 管理UNDO数据不仅可以使用回滚段 还可以使用UNDO表空间

   UNDO数据的作用 当用户执行DML操作修改数据时 UNDO数据被存放在UNDO段 而新数据则被存放到数据段中 如果事务操作存在问题 就需要回退事务 以取消事物变化

  例如 执行完UPDATE emp SET sal= WHERE empno= 后 发现应该修改雇员 的工资 而不是 此时应该执行ROLLBACK语句

   读一致性

  用户检索数据时 ORACLE总是使用户只能看到被提交过的数据 这是由Oracle自动提供的 当用户修改数据 但是没有提交时 另外一个用户使用select语句查找该值时 该值就是从undo表空间中取得的

   事务恢复

  事务恢复是例程恢复的一部分 它是由Oracle Server自动完成的 如果在数据库运行过程中出线历程失败 那么当启动Oracle Server时 后台进程SMON会自动执行例程恢复 执行例程恢复时 Oracle会重做所有未应用的记录 然后打开数据库 回退未提交事务

   倒叙查询

  倒叙查询用于取得某一特定时间点的数据库数据

   UNDO_MANAGEMENT

  使用初始化参数用于指定UNDO数据的管理方式 如果使用自动管理模式 必须设置该参数为AUTO 此时采用UNDO表空间管理UNDO数据 如果使用手工管理模式 必须设置该值为MANUAl 此时采用回滚段管理UNDO数据

   UNDO_TABLESPACE

  用于指定例程所要使用的UNDO表空间 使用自动UNDO管理模式时 通过配置该参数可以指定例程所要使用的UNDO表空间

  使用RAC结构时 必须为每个例程配置一个独立的UNDO表空间

   UNDO_RETENTION

  该参数用于控制UNDO数据的最大保留时间 其默认值为 秒 该值时倒叙查询可以查看到的最早时间点

cha138/Article/program/Oracle/201311/17025

相关参考

通俗理解鱼菜共生平衡原理

可以通俗地理解鱼菜共生的技术原理:在基本封闭的环境里,从饵料—鱼—排泄物—氨—硝化细菌—硝酸盐—植物的转化过程。在具体的实践操作中,至关重要的是要理解水培技术是一个完整的生态系统,包括鱼、植物和微生物

知识大全 会计分录简单点的理解,通俗来解说是怎么理解

会计分录简单点的理解,通俗来解说是怎么理解必须记得现行应用会计科目分录时有借必有贷借贷必相等资产类成本类费用类科目经济业务发生增加记借方减少记贷方负债类所有者权益类收入类科目经济业务发生减少记借方增加

知识大全 概率密度函式该怎么理解,能否不要用数学语言而用通俗的语言解释一下呢

概率密度函式该怎么理解,能否不要用数学语言而用通俗的语言解释一下呢?谢谢!可以这样理解假如一次考试,30人参加,90分3人,90以上10人,概率密度就是90分的概率即,3/30概率分布是90分及以上的

知识大全 溢价是什么意思,通俗一点来说,或者举个例子来说明。 股票溢价之类的。 看了百科不是很理解

溢价是什么意思,通俗一点来说,或者举个例子来说明。。股票溢价之类的。看了百科不是很理解溢价就是,股本是1元的股票,发行的时候10元发行,那么9元就是高出的价格,称为溢价溢价相反的是折价溢价是什么意思股

中央电视台的《百家讲坛》栏目,邀请当代中国文化名人担当“电视说书人”,把那些大众较难理解的古书典故讲解得深入浅出、通俗易

中央电视台的《百家讲坛》栏目,邀请当代中国文化名人担当“电视说书人”,把那些大众较难理解的古书典故讲解得深入浅出、通俗易懂,很受广大观众欢迎,出现了近年难得一见的“于丹现象”“易中天现象”。这说明__

知识大全 能不能通俗易懂的讲一下内能、时能、机械能、化学能是什么

能不能通俗易懂的讲一下内能、时能、机械能、化学能是什么?物理书上讲的太难懂能量是POWER呵呵内能势能机械能化学能都是能量只是存在的方式不同以后还有光能电能风能等等1.内能你可以理解为热能以温度来衡量

朱德在1945年把“毛泽东同志的新兵法”通俗地概括为“有什么枪打什么仗,对什么敌人打什么仗,在什么时间地点打什么时间地点

朱德在1945年把“毛泽东同志的新兵法”通俗地概括为“有什么枪打什么仗,对什么敌人打什么仗,在什么时间地点打什么时间地点的仗。”下列选项中,对这句话理解不准确的是_____。A、解放思想、团结一致、消

知识大全 健身的人可以喝红酒吗

健身的人可以喝红酒吗不能。健身的人,任何酒都是不能喝的,酒精会抵消一切健身锻炼效果。型男健身,健身的人可以喝酒吗专业健体来说.分赛季期和非赛季期通俗理解可以理解为增机期和刷脂期如果刷脂期就别喝了吧.热

知识大全 什么是比特币

什么是比特币?查百度百科资料看不懂,可以用通俗说法解释一下吗比特币就是一种虚拟货币它就是一串代码,在网上可以进行交易的你可以理解成Q币、淘金币这种虚拟货币比特币是啥谁能简单解释一下,看了百科完全【借用

知识大全 价值观是什么

价值观是什么?通俗点说是怎么理解!百度勿扰!谢谢!在我看来就是一个人的看事物的大体思路,做一件事的领导方向。比如给你说个情景剧,一个人刚从银行出来拿了很多钱突然刮大风钱散落一地旁边的人开始捡有点人主动