ORACLE UNDO
UNDO
数据操纵
数据操纵语言(DML)由以下SQL语句组成:
INSERT,DELETE,UPDATE,MERGE
DML始终作为事务处理的一部分执行,它可以:
使用Rollback命令执行回退
使用Commit命令执行提交
还原数据
还原数据是:
原始的、修改之前的数据副本
是针对更改数据的每个事物处理所捕获的
至少保留到事物处理结束
用于支持:
-回退操作
-读取一致性查询
-闪回查询、闪回事物处理和闪回表
-从失败的事物处理中进行恢复
每个事物处理只分配给一个还原段
一个还原段可以同时服务多个事物处理
存储还原信息
还原信息存储在还原段中,还原段又存储在还原表空间中。
还原表空间:
仅用于还原段
包含特殊的恢复注意事项
只能与单个实例相关联
要求在任意指定时间,一个给定的实例只能有一个表空间是当前可写还原表空间
管理还原
自动还原管理:
在专用还原表空间中对还原数据和空间进行完全自动的管理
用于所有会话
在AUTOEXTEND表空间中进行自优化,以满足长时间运行的查询的需求
在固定大小的表空间进行自优化,以实现最佳的保留时间
用来支持闪回操作的DBA任务:
配置还原保留时间
将还原表空间更改为固定大小
避免空间错误和‘快照太旧’错误
查看UNDO信息
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
配置还原保留时间
SQL> alter system set undo_retention=5400;
System altered.
5400秒
设置undo表空间保留时间内不可覆写
SQL> alter tablespace UNDOTBS1 retention guarantee;
Tablespace altered.
设置undo表空间保留时间内可覆写
SQL> alter tablespace UNDOTBS1 retention noguarantee;
Tablespace altered.
实验:删去原有的UNDO表空间数据文件,指向新的UNDO表空间数据文件
SYS@VDEDU>create undo tablespace undotbs2 datafile '/u01/app/oracle/oradata/VDEDU/undotbs02.dbf' size 100m autoextend on;
Tablespace created.
SYS@VDEDU>show parameter undo_tablespace
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
undo_tablespace string
UNDOTBS1
SYS@VDEDU>alter system set undo_tablespace=undotbs2;
System altered.
SYS@VDEDU>show parameter undo_tablespace;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
undo_tablespace string
UNDOTBS2
SYS@VDEDU>drop tablespace undotbs1 including contents and datafiles;
Tablespace dropped.
ORACLE UNDO的更多相关文章
- Oracle undo 镜像数据探究
Oracle undo 镜像数据探究 今天是2013-08-18,隔别一周的 ...
- Oracle undo我们需要掌握什么
<Oracle undo我们需要掌握什么> 引言:undo 是Oracle数据库的重要组件,刚入门的朋友建议要把undo的原理和机制理解明白,尤其是和redo组件的区别和联系.了解undo ...
- Oracle undo 表空间管理 (摘DAVID)
Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...
- oracle undo回滚段详解
1.Undo是干嘛用的? 在介绍undo之前先说一下另外一个东西 transaction ,翻译成交易或事务.我们在进行一个事务的过程中需要申请许多资源,一个复杂的事务也需要很多步来完成.那么一个 ...
- Oracle Undo与脏读解析
Undo就是用来记录保存事务操作过程中的数据,如果事务发生错误,可以之前的数据进行填补. Undo segment 是保存在表空间上的.Undo 大小是固定的,既然是固定的也就是有限的.如果保存的记录 ...
- oracle undo 复杂度--oracle核心技术读书笔记四
一. 概述 undo 保存的是旧数据.比方,你改动了一条记录将A列abc改动为def,那么undo里面保存的就是abc.目的有两个:1. 假设你的事务没有提交,可是已经将A列改动,那么别人读取这条数据 ...
- [Oracle]undo表空间使用量为100%
在Toad中发现undo表空间undotbs1使用量已经达到100%,但是奇怪的是数据库并没有hang住,依然可以正常运转 通过Oracle提供的EM查看undotbs1表空间的使用,也达到了78.8 ...
- 转://Oracle undo 自动调优
Oracle 10gr2的后续版本中添加了UNDO信息最短保留时间段自动调优的特性,不再仅仅依据参数UNDO_RETENTION的设定,其调优原则如下:1. 当UNDO TABLESPACE为 fix ...
- 监控和管理Oracle UNDO表空间的使用
对Oracle数据库UNDO表空间的监控和管理是我们日常最重要的工作之一,UNDO表空间通常都是Oracle自动化管理(通过undo_management初始化参数确定):UNDO表空间是用于存储DM ...
- Oracle undo 表空间不可用
由于某次不小心操作,在切换表空间时没有成功,由于把undo的配置参数 undo_management值设置为MANUAL所以在启动数据库时没有报任何错误,但是给表插入数据时报错了,回滚段不可用的错误. ...
随机推荐
- 重定向如何携带cookie
起因 最近在做微信开放平台,需要给第三方入住,而且入住方都有自己的二级域名.做过微信开发的人都知道,坑爹的是微信并不支持这种二级域名的方式,所以用一个域名专门来处理. 问题 然后由于采用了一个专门的域 ...
- rabbitmq启动异常table_attributes_mismatch
rabbitmq启动异常table_attributes_mismatch 2017年01月09日 16:57:50 growithus 阅读数:18 [root@localhost rabb ...
- Git常见报错及解决方案
报错一: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you c ...
- azkaban在centos下的部署安装
azkaban 是一个用Java开发的开源调度工具workflow. 下面介绍具体安装过程,我这里使用的版本是3.43.0,使用的是solo运行模式. 编译 git clone https://git ...
- Oracle 11g EM删除重建的方法
虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...
- Cisco NTP配置
Windows 或 Linux 系统配置成NTP服务器,思科交换机配置成NTP客户端 ##创建VLAN 10 SW01>enable SW01#vlan database SW01(vlan)# ...
- Excel文档间的数据替换 ---电脑版APP 自动操作魔法师
http://www.won-soft.com/macro/solution/excel-data-replace.htm 介绍: 在我们的日常工作中, 可能经常需要使用同各种数据表格打交道.比如财务 ...
- AbtestingGateway 复制请求到其他服务上
perface 最近有需求,需要把服务a发给服务b的请求复制给服务c,服务a发给服务b的时候会经过nginx,这个nginx是有lua脚本来辅助工作的.说白了,这个nginx+lua就是abtesti ...
- glob通配符
描述glob是shell使用的路径匹配符,类似于正则表达式,但是与正则表达式不完全相同.在linux操作中如文件匹配等等其实已经使用了glob通配符.由于其在路径匹配方面的强大,其他语言也有相应的实现 ...
- android基础---->子线程更新UI
和许多其他的GUI 库一样,Android 的UI 也是线程不安全的.也就是说,如果想要更新应用程序里的UI 元素,则必须在主线程中进行,否则就会出现异常.了解AsyncTask的用法,请参见我的博客 ...