在oracle中我们做一些更新操作,oracle底层是怎么流转的呢,就是这篇文章要讲解的。
一. 原理
假设我们在一个已经更新了很多条分散记录的OLTP系统中,更新了一行数据。那么这个更新的真实步骤如下:
1. 创建一个重做改变向量,描述如何往undo块插入一条undo记录(也就是描述undo块的改变)
2. 创建一个重做改变向量,描...
分类:
数据库 时间:
2014-09-14 16:44:17
阅读次数:
350
原理:Oracle根据还原表空间信息,利用还原表空间中的数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回。删除删除错误的dml操作的oracle的前提准备:一、保证可以闪回两个小时之前的数据 show parameter undo_retention 显示事务.....
分类:
数据库 时间:
2014-09-12 21:54:54
阅读次数:
388
UNDO三大作用1.一致性读(consistent read)2.事务回滚(Rollback Transaction)3.实例恢复(Instance Recovery)一致性读当会话发出一条SQL查询,将当前时间的SCN号记录下来,当进程扫描到表T的数据块,再与该块头部的ITL槽(事务槽)的SCN号...
分类:
其他好文 时间:
2014-09-04 16:43:09
阅读次数:
293
首先了解什么是UNDO,可以说UNDO是ORACLE中一个非常实用的功能UNDO数据也称为回滚(ROLLBACK)数据,它用于确保数据的一致性.当执行DML操作时,事务操作前的数据被称为UNDO记录.UNDO段用于保存事务所修改数据的旧值,其中存储着被修改数据块的位置以及修改前数据UNDO数据的作用...
分类:
数据库 时间:
2014-09-02 12:08:04
阅读次数:
288
在InnoDB存储引擎中,undo日志有两个作用:1. 实现事务的原子性,即当事务由于意外情况未能运行时,可以使得事务回滚,从而使得数据恢复到事务开始运行时的状态;2. 实现一致性非锁定读。如果读取的行正在执行delete或者update操作,这时读取操作不会因此去等待行上锁的释放。相反,InnoD...
分类:
其他好文 时间:
2014-08-30 17:38:09
阅读次数:
247
原创】Oracle undo我们需要掌握什么2013-03-30 22:35:06分类: Linux《Oracle undo我们需要掌握什么》引言:undo 是Oracle数据库的重要组件,刚入门的朋友建议要把undo的原理和机制理解明白,尤其是和redo组件的区别和联系。了解undo就相当于对or...
分类:
其他好文 时间:
2014-08-29 18:04:48
阅读次数:
240
Flashback? Flashback query(undo)? select * from table_name as of timestamp ? to_timestamp(‘2008-03-03 12:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘); select * from table_name as of scn 123456; ? Flashback ...
分类:
数据库 时间:
2014-08-28 11:43:49
阅读次数:
290
ORA-01552 :非系统表空间‘XXXX’不能使用系统回退段
故障分析:
UNDO表空间数据文件受损,导致执行更新操作失败。
故障解决:
创建的新的undo表空间,置为 默认,AUTO,正常打开数据库。
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Doc...
分类:
其他好文 时间:
2014-08-26 17:29:16
阅读次数:
200
我们知道在SqlServer实例启动过程中数据库会进行还原(Redo,Undo)然后打开提供服务,但我们知道tempdb是不提供重做机制的(Redo)那tempdb是如何还原的呢?如果tempdb损坏我们该怎么办,这里我将通过实例给大家介绍.
分类:
数据库 时间:
2014-08-21 16:43:34
阅读次数:
264
日志: 说白了就是为了恢复(撤销机制) 软件里面不都有撤销ctl+z吗?但是怎么实现的呢?想一下就是记下过程,逆向操作一遍即可。Log4j原理: 一个循环处理过程--日志组,循环使用。DB里面的日志: 一条SQL进行解析之后,形成redo,undo日志,然后操作存储设备(也就是物理的操作过程...
分类:
其他好文 时间:
2014-08-17 21:12:32
阅读次数:
242