Oracle undo表空间
一、回滚段的介绍
在Oracle数据库中,当某个事务对数据库进行修改时,Oracle首先将数据库的原始值保存到一个回退段中,一个事务只能将它的信息保存到一个回滚段中,而多个并行事务可以使用同一个回滚段。
•回滚段的作用
--事务回滚:当事务事务执行失败或用户执行回滚操作时(rollback),Oracle会利用保存在回滚段中的信息将数据恢复到原来的值;
--数据库恢复:当数据库实例运行运行失败,在数据库重启恢复时,Oracle先利用重做日志文件对数据库进行恢复(包括已提交和未提交的事务),再利用回滚段中的信息回滚未提交的事务;
--一致性读,构建CR块:当一个用户对数据进行修改时,会预先将其原始值报错到回滚段中,这时有其他用户访问数据时,就会看到原始数据;
--闪回查询:通过保留在回滚段中的信息,用户可以查询某个数据在过去某个时刻的数据;
SELECT * FROM table as of timestamp to_timestamp('2018-10-11 00:34:09','yyyy-mm-dd hh24:mi:ss');
二、undo表空间介绍
--查询数据库当前使用的是哪个表空间
SQL> show parameter undoNAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS1
--回滚段信息
SQL> select segment_name,tablespace_name ,status from dba_rollback_segs;SEGMENT_NAME TABLESPACE_NAME STATUS ------------------------------ ------------------------------ ---------------- SYSTEM SYSTEM ONLINE _SYSSMU1_3724004606$ UNDOTBS1 ONLINE _SYSSMU2_2996391332$ UNDOTBS1 ONLINE _SYSSMU3_1723003836$ UNDOTBS1 ONLINE _SYSSMU4_1254879796$ UNDOTBS1 ONLINE _SYSSMU5_898567397$ UNDOTBS1 ONLINE _SYSSMU6_1263032392$ UNDOTBS1 ONLINE _SYSSMU7_2070203016$ UNDOTBS1 ONLINE _SYSSMU8_517538920$ UNDOTBS1 ONLINE _SYSSMU9_1650507775$ UNDOTBS1 ONLINE _SYSSMU10_1197734989$ UNDOTBS1 ONLINESEGMENT_NAME TABLESPACE_NAME STATUS ------------------------------ ------------------------------ ---------------- _SYSSMU11_2405047275$ UNDOTBS2 OFFLINE _SYSSMU12_4193091853$ UNDOTBS2 OFFLINE _SYSSMU13_426403437$ UNDOTBS2 OFFLINE _SYSSMU14_3476995392$ UNDOTBS2 OFFLINE _SYSSMU15_2977663266$ UNDOTBS2 OFFLINE _SYSSMU16_70103909$ UNDOTBS2 OFFLINE _SYSSMU17_83561221$ UNDOTBS2 OFFLINE _SYSSMU18_1562838573$ UNDOTBS2 OFFLINE _SYSSMU19_432397083$ UNDOTBS2 OFFLINE _SYSSMU20_998160251$ UNDOTBS2 OFFLINE21 rows selected. --共21个回滚段
--参数说明
•undo_retention :设置回退信息在回滚段保留的时间,单位秒,作用之一闪回查询(只提供DML语句的闪回);
--如何监控undo segment 使用情况:使用动态性能视图,v$transaction,记录事务内每个用户使用回滚块的数量(sys用户,占用7号回滚段,1个数据块)
SQL> select a.USERNAME,b.XIDUSN,b.USED_UBLK from v$session a ,v$transaction b where a.SADDR = b.SES_ADDR;USERNAME XIDUSN USED_UBLK ------------------------------ ---------- ---------- SYS 7 1
•undo表空间特有属性retention(回退保持力,非强制),其他表空间都没有,跟undo_retention时间有关,回滚段里的保存回滚信息不强制保留900秒;
SQL> select tablespace_name,retention from dba_tablespaces;TABLESPACE_NAME RETENTION ------------------------------ ----------- SYSTEM NOT APPLY SYSAUX NOT APPLY UNDOTBS1 NOGUARANTEE TEMP NOT APPLY USERS NOT APPLY UNDOTBS2 NOGUARANTEE EXAMPLE NOT APPLY TBS01 NOT APPLY TBS02 NOT APPLY CATALOGDAT NOT APPLY TBS_TRAN NOT APPLY11 rows selected. 回退保持力非强制
转载于:https://www.cnblogs.com/Memory-Python/p/9872612.html
Oracle undo表空间相关推荐
- Oracle undo 表空间管理
Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...
- Oracle undo表空间爆满的解决
1. 启动SQLPLUS,并用sys登陆到数据库. #su - oracle $>sqlplus / as sysdba 2. 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间 ...
- Oracle UNDO表空间损坏时的处理办法
前两天一客户的Oracle数据库出现故障,通过分析日志发现是UNDOTBS1表空间损坏,在没有使用RMAN备份来做恢复的情况下,通过重建UNDO表空间解决: 拿到这个问题后,先尝试直接 recover ...
- oracle undo表空间缩小,缩小undo表空间全记录
今天同事让我把undo表空间缩小为原来的40GB,之前由于开发商的需求,将undo表空间扩大到了200GB之大,现在需要缩小为40GB.虽然整件事有点不和逻辑,但事已至此也用不管他们怎么想的,毕竟人家 ...
- Oracle undo表空间管理
当在做DML操作的时候,在修改buffer cache里面的数据块的时候,会对当前块的旧镜像信息做一个保存,保存的数据块就是undo块.undo块上面保存着数据修改前的信息. 生成undo块的几个作用 ...
- oracle清理undo空间,删除Oracle Undo表空间
近期处理了一次删除.重建Undo表空间的事情,有些细节还是值得记下来备忘.事情的起因是工程师需要将分布在不同ASM磁盘组里的Oracle数据库文件,迁移到新建的ASM磁盘组,操作过程中,错误的删除了U ...
- oracle不同表空间怎么切换,oracle undo表空间的切换
环境 centos7,oracle11 1.新建 用oracle用户登陆 sqlplus / as sysdba 进入sql命令行 create undo tablespace undotbs2 da ...
- 释放oracle undo表空间,undo表空间释放
一.概述: 使用IMPDP工具导入大表(166G)数据时,报undo表空间不能扩展,导入工作失败.手工停止了impdp后,undo表空间存在无法自动释放的故障.本文主要描述如何通过重建undo表空间来 ...
- oracle resetlogs 误删,oracle undo表空间误删恢复
有rman备份常规恢复 [oracle@localhost pahc]$ mv undotbs01.dbf undotbs01.dbf.bak SQL> shutdown immediate; ...
最新文章
- 2008R2Win7管理二十八Mail之基本使用
- element table固定表头,表的高度自适应解决方法
- fortify扫描java_亲测有效的几种fortify扫描安全漏洞的解决方案
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
- 而立之年,不拼体力的我们应该关注什么?
- Groovy 使用完全解析
- 工作日志20150202
- Git commit/pull/push的操作步骤
- python读音播报-用Python写一个语音播放软件
- Keras学习---MLP和CNN模型建立篇
- cent os7 安装dubbo-admin 管理控制台
- 使用VS2019创建控制器时出现运行所选代码生成器时出错:“值-1超出了可接受的[0,2147483647]范围。参数名称:value”错误
- ARM:让Mali带来更极致的移动VR体验
- 用户画像及其应用案例分享
- Laravel Excel导出xls乱码
- 中科大入学考试(数学)
- 学习Android开发
- 教你怎么用Python和Qt5编写中国象棋AI版——规则模块
- [转][类似我] 某作者结合自己性格对盖洛普的推广
- CC2640R2F BLE5.0 TI-RTOS概述
热门文章
- FlexboxLayout使用(Google官方实现流式布局控件)
- Android多线程:深入分析 Handler机制源码(二)
- Mysql数据库事务详解
- html5+开发移动app
- 福建省计算机一级应用技术基础知识,求福建省计算机一级考试的基础题
- 人工智能实践:TensorFlow笔记学习(四)—— 神经网络优化
- echart旭日图_150Echarts - 旭日图(Sunburst Label Rotate)
- FFmpeg从入门到出家(HEVC在RTMP中的扩展)
- Jmeter Summariser report及其可视化
- [leetcode] 367. Valid Perfect Square