本文主要是介绍Oracle(10)Managing Undo Data,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、基础知识
1、AUM :Init Parameters AUM:初始化参数
2、AUM:Other Parameters AUM:其他参数
3、AUM:Sizing an UNDO TS AUM:调整UNDOTS的大小
4、AUM :Undo Quota AUM:撤消配额
5、Get Undo Segment Info 获取撤消段信息
二、基础操作
1、AUM:UNDO Tablespace
2、AUM:Altering an UNDO TS AUM:更改撤消TS
3、AUM :Switching UNDO TS AUM:切换撤消TS
4、 AUM :Dropping an UNDO TS AUM:删除一个UNDOTS
Managing Undo Data 管理撤消数据
目标:
- 描述撤销数据的用途
- 实现自动撤销管理
- 学会创建和配置撤销段
- 获取撤消段信息
一、基础知识
1、AUM :Init Parameters AUM:初始化参数
- UNDO_MANAGEMENT(UNDO撤销管理):指定系统应使用自动或手动模式(通常使用自动就可以)
- UNDO_TABLESPACE(UNDO表空间):指定要使用的特定UNDO表空间
-
UNDO_MANAGEMENT=AUTO UNDO_TABLESPACE=UNDOTBS
2、AUM:Other Parameters AUM:其他参数
- UNDO_SUPPRESS_ERRORS parameter:撤消抑制错误参数:
- 设置为TRUE,此参数将抑制在AUTO模式下尝试执行手动操作时出现的错误
- UNDO_RETENTION parameter:撤销保留参数:
- 此参数控制为一致读取而保留的撤消数据量
3、AUM:Sizing an UNDO TS AUM:调整UNDOTS的大小
确定UNDO表空间的大小需要三条信息:
- (UR) UNDO_RETENTION 以秒为单位的撤消保留
- (UPS)每秒生成的撤销数据块数 (下图是计算方法) 14.59*900*8192就是每秒钟最大消耗内存
- (DBS)开销根据范围和文件大小而变化 (db_block_size)
4、AUM :Undo Quota AUM:撤消配额
- 长事务和不正确的写入事务会消耗宝贵的资源。
- 使用撤消配额,可以对用户进行分组,并可以为组分配最大撤消空间限制。
- 资源管理器指令UNDO_POOL定义资源组所允许的空间量
- 当一个组超过其限制时,在当前正在完成或中止的事务释放撤消空间之前,组中不可能有新的事务。
5、Get Undo Segment Info 获取撤消段信息
- 有关撤销段的信息可以通过查询以下视图获得
- DBA_ROLLBACK_SEGS
- 动态性能视图
- V$ROLLNAME 所有Undo Segment信息
- V$ROLLSTAT 所有在线Undo Segment的信息
- V$UNDOSTAT 可以计算每秒最大提交信息
- V$SESSION 用户登录信息
- V$TRANSACTION 可以查看没有提交或者回滚的信息占用多少块
二、基础操作
1、AUM:UNDO Tablespace
通过在CREATE DATABASE命令中添加一个子句,使用数据库创建UNDO表空间:
CREATE DATABASE db01 UNDO TABLESPACE undo1 DATAFILE '/u01/oradata/undoldb01.dbf' SIZE 20M AUTOEXTEND ON
稍后使用CREATE UNDO TABLESPACE命令创建它:
CREATE UNDO TABLESPACE undo1 DATAFILE '/u01/oradata/undoldb01.dbf' SIZE 20M;
2、AUM:Altering an UNDO TS AUM:更改撤消TS
- ALTER TABLESPACE命令可以对UNDO表空间进行更改。
- 下面的示例将另一个数据文件添加到UNDO表空间中:
-
ALTER TABLESPACE undotbs ADD DATAFILE '/u01/oradata/undotbs2.dbf' SIZE 30M AUTOEXTEND ON:
-
3、AUM :Switching UNDO TS AUM:切换撤消TS
- 您可以从一个UNDO表空间切换到另一个表空间。
- 一次只能将一个UNDO表空间分配给一个数据库。
- 一个实例中可能存在多个UNDO表空间,但只能有一个表空间处于活动状态。
- 使用ALTERSYSTEM命令在UNDO表空间之间进行动态切换:
-
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2:
-
4、 AUM :Dropping an UNDO TS AUM:删除一个UNDOTS
- DROP TABLESPACE命令删除一个UNDO表空间。
DROP TABLESPACE UNDOTBS2:
- UNDO表空间只有在当前没有被任何实例使用时才能被删除。
- 删除活动UNDO表空间:
- 切换到一个新的UNDO表空间。
- 在所有当前事务完成后删除表空间。
完工。
这篇关于Oracle(10)Managing Undo Data的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!