undo管理
undo segments的extents 的状态共有四种,free ,active , inacitve, expired  
SQL> select SEGMENT_NAME,TABLESPACE_NAME,STATUS from  dba_undo_extents;
SEGMENT_NAME                  TABLESPACE_NAME                STATUS
------------------------------ ------------------------------ ---------
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      UNEXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU10_3534552179$          UNDOTBS1                      EXPIRED
_SYSSMU9_3683992930$          UNDOTBS1                      EXPIRED
_SYSSMU9_3683992930$          UNDOTBS1                      EXPIRED
_SYSSMU9_3683992930$          UNDOTBS1                      EXPIRED
1)free:没有分配给任何一个段
    2)active:区中有事务没有提交
    3)inactive:区中的事务提交了但是还没有达到  undo_retention 的时间
    4)expired:事务提交而且达到了undo_retention
    注:我们可以通过设定undo_retention来保住inactive的区,若没有free,则自动扩展;若扩展不了,则优先使用expired;若还不够,则就会使用inactive,但如果此时retention是guarantee保证的(也就是ALTER TABLESPACE undotbs1 RETENTION GUARANTEE),则无法使用inactive,会报ORA-30036。
小结 :如果你倾向于保证数据一致性,也就是专注于查询,那么你有必要通过ALTER TABLESPACE undotbs1 RETENTION GUARANTEE,来保证一致性,也就是不管你空间够不够用,你都不可以使用inactive状态的区,这样就有可能导致由于没有可用的undo空间而导致数据库hang住,但是这样你可以保证查询语句执行时间在  undo_retention值 之内的所有查询 的一致性。如果你的业务倾向于事务,你可以不去设置  RETENTION GUARANTEE,这样当没有可用的undo空间时,可以去覆盖inactive状态的区,这样就有可能报错ora-01555,不能一致读了,因为你的undo_retention 值是通过咨询你们当前业务的查询语句执行时间最长的那个时间来确定的,也就是说undo_retention > sql执行最长时间,因此你使用不使用GUARANTEE取决于你业务的需求。
undo管理的更多相关文章
- mysql原理~undo管理
		一 简介:undo管理 二 各版本说明 1 5.5 undo位置:默认ibdata1中,不支持独立表空间 缺点:大事务可能造成ibdata1暴涨,只能dump导出导入或者从新搭建 参数: ... 
- 主说明:自动Undo管理的故障排除指南(Doc ID 1579081.1)
		Master Note: Troubleshooting guide for Automatic Undo Management (Doc ID 1579081.1) APPLIES TO: Orac ... 
- 监控和管理Oracle UNDO表空间的使用
		对Oracle数据库UNDO表空间的监控和管理是我们日常最重要的工作之一,UNDO表空间通常都是Oracle自动化管理(通过undo_management初始化参数确定):UNDO表空间是用于存储DM ... 
- Oracle undo 表空间管理 (摘DAVID)
		Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ... 
- 【转】ORACLE的REDO与UNDO
		一.什么是redo?redo:oracle在在线或者归档重做日志文件中的记录的信息,外以出现失败时可以利用这些数据来"重放"事务.每个oracle数据都至少有二个在线重做日志组,每 ... 
- 09 redo and undo
		本章提要-----------------------------------------------redo, undo 定义redo, undo 如何工作如何访问 redo, undo提交和回滚- ... 
- Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)
		UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ... 
- undo表空间
		undo表空间undo表空间的管理,主要包括创建.删除.修改.切换.其中需要注意的是不能在undo表空间创建数据库对象,还有就是只能是单文件或大文件表空间. 创建创建主要有两种方法,一种是在创建数据库 ... 
- UNDO(二)
		Managing Undo Beginning with Release 11g, for a default installation, Oracle Database automatically ... 
随机推荐
- mysql 函数 时间函数,数学函数,字符串函数,条件判断函数
			=========================================== mysql 相关函数 ============================================= ... 
- [Python3 练习] 003 货币转换
			题目:货币转换 (1) 描述 人民币和美元是世界上通用的两种货币,写一个程序进行货币间币值转换 记人民币和美元之间的汇率为:1 美元 = 6.78 人民币 程序可以接受人民币或美元输入,转换为另一种货 ... 
- e.target与e.currentTarget的区别,事件冒泡与事件捕获 ,事件委托
			e.target与e.currentTarget的区别:https://www.jianshu.com/p/1dd668ccc97a 事件冒泡与事件捕获 :https://www.jianshu.co ... 
- dfs(枚举)
			http://codeforces.com/gym/100989/problem/L L. Plus or Minus (A) time limit per test 1.0 s memory lim ... 
- 表格类型数据,Excel csv导入,导出操作
			import pandas # 创建表格格式# ad = pandas.DataFrame({"a": range(1, 10), "b": range(10, ... 
- document.body.scrollTop值为0的解决方法[转]
			做页面的时候可能会用到位置固定的层,读取document.body.scrollTop来设置层的位置,像这样, window.onscroll=function () { ... 
- 如何同步发送put或者delete请求
			1.必须把前端发送方式改为post . 2.在web.xml中配置一个filter:HiddenHttpMethodFilter过滤器 3.必须携带一个键值对,key=_method, value= ... 
- docker安装各种坑
			今天记录一下之前安装docker遇到的各种坑. 我们从http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/这个网站下载. 下 ... 
- vuex 使用实例
			官网:https://vuex.vuejs.org/zh/guide/state.html Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 1.vuex解决了组件之间同一状态的共享问题 ... 
- Tomcat部署虚拟主机
			使用Tomcat部署加密虚拟主机,实现: a.使用www.a.com域名访问的页面根路径为/usr/local/tomcat/a/base b.使用www.b.com域名访问的页面根路径为/usr/l ... 
