【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 ...
随机推荐
- lucene多条件查询”搜索—BooleanQuery
/** * “多条件查询”搜索—BooleanQuery * BooleanQuery也是实际开发过程中经常使用的一种Query. * 它其实是一个组合的Query,在使用时可以把各种Query对象添 ...
- echarts 中 请求后台改变数据
function tablenumber() { $.ajax({ type : "get", url : "../res/error.json", dataT ...
- C#第三节课(2)
运算符 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.T ...
- 单个图片获取-爬取网易"数读"信息数据(暴涨的房租,正在摧毁中国年轻人的生活)
参考链接:https://www.makcyun.top/web_scraping_withpython3.html 该网页其实有16张图片,但是因为页面数据中某处多个空白,导致参考链接中的方式只有1 ...
- Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)
哎呀大水题..我写了一个多小时..好没救啊.. 数论板子X合一? 注意: 本文中变量名称区分大小写. 题意: 给一个\(n\)阶递推序列\(f_k=\prod^{n}_{i=1} f_{k-i}b_i ...
- 洛谷 P3275 BZOJ 2330 [SCOI2011]糖果
题目描述 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配 ...
- 【ACM】hdu_1096_A+BVIII_201307261748
A+B for Input-Output Practice (VIII)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32 ...
- COGS——C1176. [郑州101中学] 月考
http://cogs.pro/cogs/problem/problem.php?pid=1176 [题目描述] 在上次的月考中Bugall同学违反了考场纪律还吃了处分,更可气的是在第二天的校会时 间 ...
- POJ 1984
我做过的最棘手的一道题了,不是因为难,难就是不懂,而是因为明明思路对了,却调了很久程序没发现自己哪错了.....就连样例都不过 操,别人的代码::::::::::::::::::::::::::::. ...
- java异常 之 异常的层次结构
一:起因 (1)近期在用java处理分析各种数据,碰到了一些异常,如parse()异常 ParseException,valueOf()NumberFormatException IllegalAr ...