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 ...
随机推荐
- nginx-->基本使用
Nginx基本使用 一.下载 http://nginx.org/en/download.html 二.解压文件 在当前文件夹下通过终端就可以操作nginx nginx -v 三.配置详解 #use ...
- [2019杭电多校第四场][hdu6614]AND Minimum Spanning Tree(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6614 题目大意是有一张n个点的完全图,n个点点权为1-n,边权为两点点权按位与(&).求最小生 ...
- Weak Pair (dfs+树状数组)
Weak Pair (dfs+树状数组) 题意 这个题目是要求:一颗树上,有n个节点,给出每个节点的权值.另外给出一个值k,问有多少对节点满足: \(power[u]*power[v]<=k\) ...
- vue2.0--axios的跨域问题
鉴于这个问题,特地的提取了一个demo来进行截图说明. 一.根据官网的的安装流程安装vue-cli # 全局安装 vue-cli $ npm install --global vue-cli # 创建 ...
- RMQ 的入门 hdu1806
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大值 ...
- RMAN备份与恢复 —— 完全恢复与不完全恢复
名词解释: 顾名思义,完全恢复就是指数据没有丢失的恢复了.不完全恢复是指恢复后有部分数据丢失.它们是数据库的两种恢复方式. 完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的 ...
- Windows下的vue-devtools工具的安装
详细教程在这个链接里: https://www.cnblogs.com/xqmyhome/p/10972772.html
- [好好学习]在VMware中安装Oracle Enterprise Linux (v5.7) - (4/5)
- Docker备份镜像
docker save -o mycentos.tar mycentos_new:1.1 指定输出到的文件 执行后,运行 ls 命令即可看到打成的tar包, 因为有463M所以打包要一会
- 记录cobbler报错
出现下面这个错误解决方法 httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Ori ...