undo的作用是:解决oracle多用户读写一致性,以及操作可撤销或者回滚。

1.undo表空间是从10g开始进行自动管理的,几个参数如下:

undo_management:回滚段手动管理还是自动管理

undo_tablespace:为undo单独定义的表空间;在自动管理模式下,使用哪个表空间

undo_retention:在自动管理模式下,回滚段在非活动状态下,回滚段中的数据被覆盖前,系统的保留时间(秒)。

2.回滚段存储的内容

insert操作:只记录插入记录的rowid,回滚时,只需要根据该rowid删除记录即可

update操作:记录要更新字段的镜像,回滚时,通过该镜像,覆盖之前的值

delete操作:完整地记录一条数据,回滚时,通过一个反向操作恢复数据。

通过上面比较,delete的花销最大。所以,一个批量删除失败,回滚会花销比较长的时间。同时,回滚的操作

还要记录redo日志。

3.oracle读写一致性

用户A、B;一个在update,一个在select;

如果(1):Ty< T<Tz<Tx , 即在查询中,数据有更新;但在update 的commit前,查询结束;虽然有update操作,但select依然

可以通过回滚段的数据镜像查询出结果,这样数据就保持了读取一致性。

如果(2):Ty< T<Tx<Tz ,在查询中,数据有更新;但在update 的commit前,查询还未结束;这就导致select的查询回滚段的数据

镜像有可能被覆盖,进而查询失败;oracle提示ora-01555错误。

oracle为解决ora-01555问题:

从10g 开始,oracle 对undo_retention 参数进行了调整。默认情况下,这个参数是启用的。oracle自动调整回滚段数据保留时间;

当然,如果undo表空间不足,系统自动满足长时间的查询,而不需要手动调整。

同时,oracle还对undo表空间增加了guaratee控制,即用户可以指定undo表空间必须满足undo_retention 限制。

>alter tablespace undotbs1    retention guaratee;

深入浅出Oracle学习笔记:Undo的更多相关文章

  1. 深入浅出Oracle学习笔记:Buffer Cache 和Shared pool

    Buffer cache 和 share pool 是sga中最重要最复杂的部分. 一.Buffer Cache 通常数据的读取.修改都是通过buffer cache 来完成的.buffer cach ...

  2. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  3. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  4. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

  5. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  6. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  7. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  8. oracle学习笔记(一)用户管理

    --oracle学习第一天 --连接 @后面连接数据库实例,具体连接到那个数据库 conn scott/tiger@MYORA1; --修改密码 passw; --显示用户 show user; -- ...

  9. 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子

    1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...

随机推荐

  1. jquery知识汇总

    jQuery 选择器 选择器                  实例                                   选取 *                          $ ...

  2. LOJ#3083.「GXOI / GZOI2019」与或和_单调栈_拆位

    #3083. 「GXOI / GZOI2019」与或和 题目大意 给定一个\(N\times N\)的矩阵,求所有子矩阵的\(AND(\&)\)之和.\(OR(|)\)之和. 数据范围 \(1 ...

  3. ubuntu下安装jdk、tomcat、mysql

    1.JDK安装 方法1: 将JDK安装包解压缩之后,编辑~/.bashrc文件,在该文件里面加入下面的配置,然后通过source ~/.bashrc.JDK即安装成功. export JAVA_HOM ...

  4. 关于傅里叶变换NTT(FNT)的周边

    NTT:快速数论变化,对于FFT精度减少的情况,NTT可以避免但是会慢一点,毕竟是数论有Mod,和快速米 引用:http://blog.csdn.net/zz_1215/article/details ...

  5. 精通python网络爬虫之自动爬取网页的爬虫 代码记录

    items的编写 # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentati ...

  6. 《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合

    讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了.现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志.类索引.父类索引.接口索引集合. 1. 访问标 ...

  7. 转:我们是怎么做Code Review的

    我们是怎么做Code Review的   前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大 ...

  8. NPOI操作Excel 005:写入空Excel(Winform版)

    前文写了一个BS版本号的导出Excel的样例(http://blog.csdn.net/yysyangyangyangshan/article/details/47904119).对于CS版在保存的地 ...

  9. [Testing] Config jest to test Javascript Application -- Part 2

    Setup an afterEach Test Hook for all tests with Jest setupTestFrameworkScriptFile With our current t ...

  10. C#中使用byte[]数据,生成Bitmap

    /// <summary> /// 使用byte[]数据,生成256色灰度 BMP 位图 /// </summary> /// <param name="ori ...