您的位置:首页 > 其它

入门篇-学习点滴之Makefile基础

2009-06-06 00:10 218 查看

UNDO简介

默认分类 2009-02-06 14:49:39 阅读137 评论0 字号: 订阅

UNDO数据也称为回滚(ROLLBACK)数据,它用于确保数据的一致性。
  Oracle9i以前,管理UNDO数据需要建立专门的回滚段,从 Oracle9i之后,为了简化UNDO的管理,通过使用UNDO表空间可以自动管理UNDO数据。顾名思义,UNDO表空间是指专门存放UNDO 数据的表空间,当使用UNDO表空间时候,Oracle会自动在该表空间上建立回滚段,以供事务操作使用。
  要点:UNDO表空间是Oracle9i的新特性
     
     UNDO表空间只能用于存放回滚段,而不能存放其它段
     UNDO表空间和回滚段管理不能同时使用
  
  UNDO作用
  1。读一致性
    读一致性是由Oracle自动提供的,并且该特征是通过UNDO记录来实现的。
  2。取消事务
    (1)首先将UNDO数据放到回滚段中
    (2)将新数据放到数据段中
    (3)当执行ROLLBACK命令时将UNDO数据写入到数据段中
  3。事务恢复
    事务恢复是由Oracle Server自动完成的。
  指定 UNDO 管理模式
  从Oracle9i开始,管理UNDO数据有两种方法,一种是自动管理模式,即使用UNDO表空间管理UNDO数据;另外一种是手工管理模式,即使用回滚段管理UNDO数据。
  1。使用自动管理模式
    通过设置初始化参数UNDO_MANAGEMENT设置为AUTO。
    相关参数设置: UNDO_MANAGEMENT:该参数用于指定UNDO数据管理模式,AUTO表示采用自动管            理模式,MANUAL 表示手工管理模式。
            UNDO_TABLESPACE:该参数用于指定在自动管理模式下要使用的UNDO表空间名,该            参数可以动态修改。
            UNDO_RETENTION:该参数用于指定保留UNDO数据的时间,默认值是900s.
UNDO_SUPPRESS_ERRORS:该参数用于指定是否显示手工UNDO管理操作的错误信息,TRUE表示禁止显示错误信息;FALSE表示允许显示错误信息。
  2。使用手工管理模式
    通过设置初始化参数UNDO_MANAGEMENT设置为 MANUAL.此时需要规划回滚段个数和尺寸。

  管理UNDO表空间
  通过使用UNDO表空间来管理UNDO数据,可以简化回滚段的管理复杂性。
  1。建立UNDO表空间
    建立UNDO表空间的两种方法,一种是通过在执行CREATE DATABASE命令建立数据库时建立UNDO表空间一种是使用CREATE UNDO TABLESPACE来建立UNDO表空间
    注意:在UNDO表空间上不能建立任何数据对象(表,索引)
  (1).使用CREATE DATABASE命令建立UNDO表空间
      create database nanjing
controlfile reuse
......
.......
UNDO TABLESPACE undotbs_01
DATAFILE '/opt/OraclHome/Ora9i/dbs/undo01.dbf'
注意:UNDO TABLESPACE不是必须的选项,当你数据库采用自动管理模式管理时候,并且没有指         定该选项,那么在建立数据库时候会自动生成名称为SYS_UNDOTBS 的UNDO表空间。
  (2). 使用CREATE UNDO TABLESPACE命令建立UNDO表空间
    CREATE UNDO TABLESPACE undotbs02
DATAFILE '/opt/OracleHome/Ora9i/dbs/undo_02.dbf' SIZE 2M;
注意:不能指定DEFAULT STORAGE子句学习吧

  切换UNDO表空间
  一个Oracle数据库可以包含多个UNDO表空间,但同一时刻一个实例只能使用一个UNDO表空间,初始化参数
UNDO_TABLESPACE用于指定实例所要使用的UNDO表空间。
  用下面的命令动态切换UNDO表空间
  ALTER SYSTEM SET undo_tablespace = undotbs02
注意:当出现以下情况是 会报错信息
        表空间不存在
        表空间不是UNDO表空间
        UNDO 表空间正在由另一个实例使用
  将自动管理模式转变为手工管理模式,可以执行下面的命令:
 
  ALTER SYSTEM SET undo_tablespace='';
监视UNDO空间信息
  通过查询动态性能视图v$UNDOSTAT 和v$TABLESPACE取得这些信息
本文出自 “开开心心每一天” 博客,请务必保留此出处http://1327236.blog.51cto.com/1317236/510089
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: