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将某字段1更新成5,那么,会话2此时查询的时候,显示的是1,因为他读的是undo的数据,这就是读一致性
    2)通过这个视图可以查看当前的事务用的是哪个回滚段
select * from v$transaction;

3) 一个实例对应一个回滚段表空间,一个实例中可以存在多个回滚段表空间,但活动的只有一个
4)undo中的数据类型:
· 未提交
· 已提交,未满足undo retention
· 过期,可以被覆盖

【Oracle】管理还原数据(undo)的更多相关文章

  1. Oracle应用技术精华教程:管理还原段

    管理还原段 在oracle 9i 之后提供了两种方法来管理还原数据 自动的还原数据管理:oracle 自动管理还原段的创建.分配和优化 手动的还原数据管理:oracle 手动管理还原段的创建.分配和优 ...

  2. oracle使用还原段的目的和还原数据的管理方法及还原段的类型

    一.引入还原段主要有3个目的: 1.事务回滚:主要是针对rollback语句起作用 2.事务恢复:非正常关闭数据库即非保留事务级关闭数据库(abort.immediate)或者数据库instance崩 ...

  3. ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤

    产生问题的原因主要以下两点:1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况:2. 有较大事务没有收缩或者没有提交所导制:说明:本问题在ORACLE系统管理中属于比较正 ...

  4. Oracle impdp导入数据临时表空间与undo表空间爆满解决实例

    Oracle impdp导入数据临时表空间与undo表空间爆满解决实例 [日期:2018-01-24] 来源:Linux社区  作者:rangle [字体:大 中 小]   针对Oracle数据迁移, ...

  5. Oracle体系结构之数据文件管理

    数据文件分2个方向管理: 物理结构和逻辑结构. 数据库的存储层次结构图: ............. 逻辑结构:                                  物理结构: .... ...

  6. oracle 日志恢复数据

    1:首先查找redo,如果redo有可供恢复的信息,就那redo中的信息进行恢复,此时一般在恢复时,类似如下:SQL> recover database;Media recovery compl ...

  7. 深入浅出Oracle学习笔记:Undo

    undo的作用是:解决oracle多用户读写一致性,以及操作可撤销或者回滚. 1.undo表空间是从10g开始进行自动管理的,几个参数如下: undo_management:回滚段手动管理还是自动管理 ...

  8. 【Oracle】redo与undo

    一 .redo(重做信息) 是Oracle在线(或归档)重做日志文件中记录的信息,万一出现失败时可以利用这些数据来“重放”(或重做)事务.Oracle中记录这些信息的文件叫做redo log file ...

  9. Oracle 回滚段undo

    Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..) 失败会话的恢复 回滚rollback操作 SQL> archive log list; ORA-01031: 权限不足 S ...

随机推荐

  1. GFS分布式文件系统环境部署与管理

    Gluster分布式文件系统 准备环境五台虚拟机 创建/gfs目录,把软件包全部拷贝目录 把yum仓库的源放进bak下才能执行以下脚本 并指定主机名这四台机器都要执行脚本 [root@localhos ...

  2. Django基础(二)

    Django基础(二) http://www.cnblogs.com/wupeiqi/articles/4508271.html

  3. 【剑指Offer】11、二进制中1的个数

      题目描述:   输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示.   解题思路:   本题有以下两个解决方案:   (1)依次判断每一位.判断的方法是先与1相与,为1则说明该位为1 ...

  4. 原生js封装ajax,深入理解$.ajax()

    直接上代码 //封装的ajax函数 // 传一个对象,所有要用的参数都在对象中 因为不写对象 实参列表个数太多,所以像jq一样,调用ajax也是把对象当实际参数传进去 // type 请求方式 默认g ...

  5. 数据结构实验病毒感染检测问题(C++)

    医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知他们的DNA序列都是环状的.现在研究者已收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒.为了方便研究,研究者将 ...

  6. nyoj4-ASCII码排序

    ASCII码排序 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N, ...

  7. Centos 7源码编译搭建Nginx

    一.Nginx入门介绍 1. Nginx(engine x):[ˈendʒɪnks] 2. Nginx 是 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版 ...

  8. Linux思维导图之sed、实战习题

    命令解释: ◆sed 2p /etc/passwd第二行打印了两次其余一次 ◆sed-n '2p' /etc/passwd 只打印出第二行 ◆sed-n 1,4p' /etc/passwd 只打印出1 ...

  9. ldap 基本名词解释(3)

    名词解释 Objectclass LDAP对象类,是LDAP内置的数据模型.每种objectClass有自己的数据结构,比如我们有一种叫“电话薄”的objectClass,肯定会内置很多属性(attr ...

  10. GetBulkRequest PDU的应用

    http://blog.csdn.net/wenph2008/article/details/16821617