OracleUNDO
UNDO作用
- 数据的回滚
- 一致性读
- 表的闪回(事务,查询的闪回....)
- 失败会话的恢复
SQL> rollback; 回滚的过程就是从回滚段里拿到刚刚执行的这条语句产生的回滚,然后应用到以前的数据块上. 回滚的前提是没有commit.一旦提交了,就不能回滚了. 如果网络中断,会话中断,oracle会强制回滚 SQL> insert into t1 values('b'); 1 row created. SQL> select * from t1; X - a b SQL> rollback; Rollback complete. SQL> select * from t1; X - a |
|||||||||||||||
为了保证数据读取的一致性,获取数据的结果是发出sql语句的时间一致。如果数据块上的数据已经被改变了,oracle就会用到回滚. 如:9点01分发出的sql查询,数据在9点03分已经修改了,但是这时候oracle返回的依然是9点01分时候的数据的值,这个值是从回滚段里面读取的.
不小心把表的数据修改了,这是你可以去查询在某个时间数据块的值.
如果会话意外终止,可以使用undo将失败的会话恢复. |
|||||||||||||||
|
Undo的产生
|
|||||||||||||||
|
Undo V.S. Redo
|
|||||||||||||||
|
修改一个数据块时,oracle里纠结做了什么? 1、发出一条SQL语句,将员工1234的工资更新为10,从下面可以看出原来工资为5.
2、ORACLE会从内存里找1234员工的数据块,如果没有内存里没有,就从磁盘上读取数据块到内存中.
3、找回滚段数据块(来装之前的数据),同样,如果内存里面没有,就从回滚段数据文件里读取到内存中.
4、oracle将5这个数据块写到回滚段里.
5.因为我修改了回滚段数据块,产生了undo的redo.
6.将原始数据块从5改为10.
7.原始数据块修改后,产生了本身数据块的redo
|
|||||||||||||||
|
Undo 表空间
SQL> show parameter undo; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO--------------自动管理undo回滚段 undo_retention integer 900--------------undo数据默认保留的时间(过期的数据会被覆盖) undo_tablespace string UNDOTBS1 SQL> select file_name,bytes from dba_data_files where tablespace_Name='UNDOTBS1'; FILE_NAME -------------------------------------------------------------------------------- BYTES ---------- /u01/app/oracle/oradata/gaga01/undotbs01.dbf 78643200 |
|||||||||||||||
|
自动管理回滚段表空间
|
|||||||||||||||
|
Undo 数据的保留时间
|
|||||||||||||||
|
Undo 表空间的损坏
|
OracleUNDO的更多相关文章
随机推荐
- Android PagerSlidingTitleIconTabStrip 能够在title旁边加小图标的PagerSlidingTabStrip
public class MainFragmentPagerAdapter extends FragmentPagerAdapter implements TitleIconTabProvider{ ...
- Intellij IDEA配置优化
1. 在线激活 安装IntelliJ IDEA 2016.1.2版本后,在联网状态下激活.Help --> Register,选择lisence server,粘贴地址http://idea.i ...
- c++ 头文件循环引用解法
A.h #include "B.h" class A{ public: B* m_b; } B.h #include "A.h" class B{ public ...
- 深度CTR预估模型中的特征自动组合机制演化简史 zz
众所周知,深度学习在计算机视觉.语音识别.自然语言处理等领域最先取得突破并成为主流方法.但是,深度学习为什么是在这些领域而不是其他领域最先成功呢?我想一个原因就是图像.语音.文本数据在空间和时间上具有 ...
- flink on yarn部分源码解析
转发请注明原创地址:https://www.cnblogs.com/dongxiao-yang/p/9403427.html flink任务的deploy形式有很多种选择,常见的有standalone ...
- 阿里云ECS网站备案流程
首先登录阿里云账号-->点击选项卡中的备案专区-->开始备案选项卡-->增加网站 然后是一大堆信息核查,之后填写网站备案信息,这里注意,有个文件审批号的选项可以不填(选择“请选择”) ...
- 关于 web中 使用 java.net.URLEncoder.encode 要编码两次呢 , js的encodeURIComponent 同理
因为在jsp中对中文进行了编码的时候用的是UTF-8的编码方式,而在servlet中调用request.getParameter();方法的时候使用服务器指定的原始编码格式(ISO-8859-1)自动 ...
- 如何使用Photoshop(PS)将图片的底色变为透明
很多时候需要将一张图片的底色变得透明.本文描述了使用PS将图片的一部分变得透明的方法.本例将一段艺术字的背景去掉,将背景透明的文字单独保存成图片,这样以后将这段文字粘贴到其他素材上的时候,就不用担心它 ...
- 转载:ffmpeg 音视频合成分割
http://blog.csdn.net/jixiuffff/article/details/5709976 当然先安装了 gentoo 下一条命令搞定 emerge ffmpeg 格式转换 (将f ...
- TCP/IP详解读书笔记:链路层
在TCP/IP协议族中,链路层主要有三个目的: 1)为IP模块发送和接受IP数据报: 2)为ARP模块发送ARP请求和接受ARP应答: 3)为RARP模块发送RARP请求和接受RARP应答: 以太网和 ...










