入门篇-学习点滴之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
相关文章推荐
- Makefile学习笔记2:入门篇-学习点滴之Makefile基础 (zz)
- 这是关于Makefile的基础学习
- 思科路由器学习初步基础--- CCNA入门
- 8天学习MongoDB——第一天 基础入门
- Socket.IO学习之基础入门
- Python学习系列(一)(基础入门)
- 结构体与共用体06 - 零基础入门学习C语言58
- 零基础入门学习Python(12)--列表:一个打了激素的数组(3)
- Delphi7另类调试入门 - 零基础入门学习Delphi14
- salesforce 零基础开发入门学习(十)IDE便捷小知识
- Python学习入门基础教程(learning Python)--8.1 字典数据添加与删除
- Maven基础学习(一)—Maven入门
- JavaSE入门学习5:Java基础语法之keyword,标识符,凝视,常量和变量
- DLL技术应用02 - 零基础入门学习Delphi45
- Fragment基础点滴学习---Activity传递数据到Fragment(Fragment使用静态加载的方式)
- 更灵活的定位内存地址的方法03 - 零基础入门学习汇编语言34
- 【学习笔记】零基础C#窗口程序开发入门
- (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理
- 内中断02 - 零基础入门学习汇编语言61
- Python学习入门基础教程(learning Python)--3.3.2 Python的关系运算