【Oracle】管理还原数据(undo)
1. 查看undo相关参数
SYS@LGR> show parameter undo NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
1)undo_management:自动管理回滚段模式(AUM)
2)undo_retention:900秒(15分钟)
·OLTP:15分钟(建议值)
·DSS系统:1-2小时(建议值)
3)undo_tablespace:当前使用的undo表空间
2.切换表空间
创建一个新的undo表空间,表空间名称为UNDOTBS2,100M,切换数据库的undo表空间为UNDOTBS2
--查看当前的undo表空间的名称 SYS@LGR> show parameter undo_tablespace; NAME TYPE VALUE
------------------------------------ ----------- ---------
undo_tablespace string UNDOTBS1
--创建一个新的undo表空间 SYS@LGR> create undo tablespace UNDOTBS2 datafile'/u01/app/oracle/oradata/lgr/undotbs02.dbf'size
2 100M autoextend on next 10M; Tablespace created.
--切换当前的undo表空间为UNDOTBS2 SYS@LGR> alter system set undo_tablespace=UNDOTBS2; System altered.
--验证 SYS@LGR> show parameter undo_tablespace; NAME TYPE VALUE
------------------------------------ ----------- ---------
undo_tablespace string UNDOTBS2
--删除已经无用的undo表空间UNDOTBS1 SYS@LGR> drop tablespace UNDOTBS1 including contents and datafiles; Tablespace dropped.
注:创建undo表空间的时候,初始可以设置为自动扩展,当系统稳定的运行一段时间后,需要手工调整一下undo表空间,将自动取消,为的是避免某用户忽略了提交事务而无意识的占用大量空间。
3.设置undo数据保留期限及强制保留
1)更改undo表空间,保存2小时
--查看参数undo_retention的值,默认为15分钟(900秒) SYS@LGR> show parameter undo_retention NAME TYPE VALUE
------------------------------------ ----------- ---------
undo_retention integer 900
--将参数undo_retention修改为7200秒,此参数为动态参数 SYS@LGR> alter system set undo_retention=7200; System altered.
--验证,修改成功 SYS@LGR> show parameter undo_retention; NAME TYPE VALUE
------------------------------------ ----------- ---------
undo_retention integer 7200
2)查看面undo表空间的保留模式(默认为非强制保留)
SYS@LGR> select tablespace_name,retention from dba_tablespaces where contents='UNDO'; TABLESPACE_NAME RETENTION
------------------------------ -----------
UNDOTBS2 NOGUARANTEE
3)打开/关闭undo表空间的确保保留期(guarantee以后,就要求确保7200的数据必须在undo中)
SYS@LGR> alter tablespace UNDOTBS2 retention guarantee; Tablespace altered. SYS@LGR> select tablespace_name,retention from dba_tablespaces where contents='UNDO'; TABLESPACE_NAME RETENTION
------------------------------ -----------
UNDOTBS2 GUARANTEE SYS@LGR> alter tablespace UNDOTBS2 retention noguarantee; Tablespace altered. SYS@LGR> select tablespace_name,retention from dba_tablespaces where contents='UNDO'; TABLESPACE_NAME RETENTION
------------------------------ -----------
UNDOTBS2 NOGUARANTEE
注:确保保留期的开启与关闭,只适合undo表空间
尝试对非undo表空间设置保留期会产生一下错误: SYS@LGR> alter tablespace system retention guarantee;
alter tablespace system retention guarantee
*
ERROR at line 1:
ORA-30044: 'Retention' can only specified for undo tablespace
- 读一致性
1)读一致性
当会话1将某字段1更新成5,那么,会话2此时查询的时候,显示的是1,因为他读的是undo的数据,这就是读一致性
2)通过这个视图可以查看当前的事务用的是哪个回滚段
select * from v$transaction;
3) 一个实例对应一个回滚段表空间,一个实例中可以存在多个回滚段表空间,但活动的只有一个
4)undo中的数据类型:
· 未提交
· 已提交,未满足undo retention
· 过期,可以被覆盖
【Oracle】管理还原数据(undo)的更多相关文章
- Oracle应用技术精华教程:管理还原段
管理还原段 在oracle 9i 之后提供了两种方法来管理还原数据 自动的还原数据管理:oracle 自动管理还原段的创建.分配和优化 手动的还原数据管理:oracle 手动管理还原段的创建.分配和优 ...
- oracle使用还原段的目的和还原数据的管理方法及还原段的类型
一.引入还原段主要有3个目的: 1.事务回滚:主要是针对rollback语句起作用 2.事务恢复:非正常关闭数据库即非保留事务级关闭数据库(abort.immediate)或者数据库instance崩 ...
- ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤
产生问题的原因主要以下两点:1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况:2. 有较大事务没有收缩或者没有提交所导制:说明:本问题在ORACLE系统管理中属于比较正 ...
- Oracle impdp导入数据临时表空间与undo表空间爆满解决实例
Oracle impdp导入数据临时表空间与undo表空间爆满解决实例 [日期:2018-01-24] 来源:Linux社区 作者:rangle [字体:大 中 小] 针对Oracle数据迁移, ...
- Oracle体系结构之数据文件管理
数据文件分2个方向管理: 物理结构和逻辑结构. 数据库的存储层次结构图: ............. 逻辑结构: 物理结构: .... ...
- oracle 日志恢复数据
1:首先查找redo,如果redo有可供恢复的信息,就那redo中的信息进行恢复,此时一般在恢复时,类似如下:SQL> recover database;Media recovery compl ...
- 深入浅出Oracle学习笔记:Undo
undo的作用是:解决oracle多用户读写一致性,以及操作可撤销或者回滚. 1.undo表空间是从10g开始进行自动管理的,几个参数如下: undo_management:回滚段手动管理还是自动管理 ...
- 【Oracle】redo与undo
一 .redo(重做信息) 是Oracle在线(或归档)重做日志文件中记录的信息,万一出现失败时可以利用这些数据来“重放”(或重做)事务.Oracle中记录这些信息的文件叫做redo log file ...
- Oracle 回滚段undo
Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..) 失败会话的恢复 回滚rollback操作 SQL> archive log list; ORA-01031: 权限不足 S ...
随机推荐
- win10下一分钟快速搭建rtmp推流服务器
为了让大家少踩笔者踩过的坑,目前将工作中搭建rtmp推流服务器的步骤总结如下: 步骤1: 下载 nginx 1.7.11.3 Gryphon 下载链接: http://nginx-win.ecsds. ...
- URAL - 1114-Boxes (分步乘法原理)
题意; 给你n个盘子,A个红球,B个黑球,放的时候没有限制,可以不放,可以放一个红球,可以放一个黑球,也可以两个同时放,可以有剩余的球. 求一共有多少放法. 思路: 可以利用分步乘法原理,红球和黑球是 ...
- HDU1029 - Ignatius and the Princess IV【水题】
给你n个数字,请你找出出现至少(n+1)/2次的数字. 输入 本题包含多组数据,请处理到EOF: 每组数据包含两行. 第一行一个数字N(1<=N<=999999) ,保证N为奇数. 第二行 ...
- [luogu4290 HAOI2008]玩具取名(DP)
传送门 Solution 裸区间DP Code #include <map> #include <cmath> #include <cstdio> #include ...
- Hexo系列(二) 配置文件详解
Hexo 是一款优秀的博客框架,在使用 Hexo 搭建一个属于自己的博客网站后,我们还需要对其进行配置,使得 Hexo 更能满足自己的需求 这里所说的配置文件,是位于站点根目录下的 _config.y ...
- maven知识总结
使用maven中的命令运行web项目 以上为web项目的目录结构 必须是maven项目 启动命令行 使用 mvn tomcat:run 敲击回车 访问红框中的地址: 关闭命令行 那么项目就 ...
- 消息队列Rabbit安装
先安装elang 再安装Rabbit *Rabbit安装路径不能有空格 安装完成
- ThreadPoolExecutor源码分析(一)
一.前言 闲来无事,博主有重新翻看了一下jdk1.8版的ThreadPoolExecutor源码,看后写此笔记,画个圈圈,做个记录,这段源码,我看过,到处一游,嘻嘻~~ 二.ThreadPoolExe ...
- C++开发人脸性别识别教程(9)——搭建MFC框架之显示图片
在之前的博客中我们已经实现读取用户选定的目录.并将其路径保存在对应的变量中.在这篇博文中我们将介绍怎样借助CvvImage类将图片显示在picture控件中,并自己主动读取目录下的其它图片. 一.加入 ...
- C++开发人脸性别识别教程(12)——加入性别识别功能
经过之前几篇博客的解说,我们已经成功搭建了MFC应用框架,并实现了主要的图像显示和人脸检測程序,在这篇博文中我们要向当中加入性别识别代码. 关于性别识别,之前已经专门拿出两篇博客的篇幅来进行解说.这里 ...