ORACLE10g--undo表空间管理
2011-04-29 14:41
351 查看
一、oracle 9i起,有两种undo管理方式:
AUM Automatic Undo Management
MUN Manual Undo Management
建议使用 AUM ,下面只讨论AUM
undo segment 也叫 rollback segment
二、undo 的三大作用:
1、提供一致性读 Consistent Read
2、回滚事务 Rollback Transaction
3、实例恢复 Instance Recovery
三、配置 AUM
1、设置初始化参数 undo_management
auto AUM 管理undo
manual MUN 管理undo
SQL>show parameter undo_management
2、undo segment 即会扩展,也会收缩。收缩有SMON完成,没隔12小时会收缩一次。
3、参数 undo_retention 单位为秒,表示当事务提交或回滚,该事务所使用的undo块里的数据需要保留多长的时间。
4、当使用 AUM,并设置undo_retention 之后,undo块存在四种状态。
Actice undo的事务还没有提交。
Inactive undo上没有活动的事务,可以被其他事务覆盖。
Expried undo持续的时间超过undo_retention所指定的时间。
Freed undo内容是空,没有被使用过。
4、undo_retention默认值是 900 秒。
SQL>alter tablespace undonew add datafile 'u01/app/oracle/oradata/ora10g/undonew02.dbf' size 10M autoextend on;
四、切换undo_tablespace
1、数据库可以有多个undo表空间,但某时刻只能使用一个。
2、将undo_tablespace参数设置为另外一个undo表空间的名字,叫做undo表空间的切换。
3、切换时,有事务未完成,切换后,旧的undo表空间为 pending offline 状态,不能被删除,当事务提交后,变为offline状态,才可以删除。
4、如果undo表空间不能扩展,在不够情况下,会将保留时间小于 undo_retention 的undo数据覆盖。但可以通过设置参数保留,出现该情况直接报错
SQL>alter tablespace undonew add datafile 'u01/app/oracle/oradata/ora10g/undonew02.dbf' size 10M autoextend on maxsize 100M retention guarantee;
SQL>alter tablespace undonew retention guarantee;
SQL>alter tablespace undonew retention noguarantee;
五、计算undo表空间大小
1、利用视图 v$undostat
oracle 每隔 10分钟更新视图,将10分钟产生的undo个数记录在该视图,保留7天的数据,总共 1008行记录。
2、公式:
undospace = undo retention * undo per second * overhead(24 undo blocks)
其中: undo retention 参数 undo_retention
undo per second 通过查询 v$undostat 来计算。
AUM Automatic Undo Management
MUN Manual Undo Management
建议使用 AUM ,下面只讨论AUM
undo segment 也叫 rollback segment
二、undo 的三大作用:
1、提供一致性读 Consistent Read
2、回滚事务 Rollback Transaction
3、实例恢复 Instance Recovery
三、配置 AUM
1、设置初始化参数 undo_management
auto AUM 管理undo
manual MUN 管理undo
SQL>show parameter undo_management
2、undo segment 即会扩展,也会收缩。收缩有SMON完成,没隔12小时会收缩一次。
3、参数 undo_retention 单位为秒,表示当事务提交或回滚,该事务所使用的undo块里的数据需要保留多长的时间。
4、当使用 AUM,并设置undo_retention 之后,undo块存在四种状态。
Actice undo的事务还没有提交。
Inactive undo上没有活动的事务,可以被其他事务覆盖。
Expried undo持续的时间超过undo_retention所指定的时间。
Freed undo内容是空,没有被使用过。
4、undo_retention默认值是 900 秒。
SQL>alter tablespace undonew add datafile 'u01/app/oracle/oradata/ora10g/undonew02.dbf' size 10M autoextend on;
四、切换undo_tablespace
1、数据库可以有多个undo表空间,但某时刻只能使用一个。
2、将undo_tablespace参数设置为另外一个undo表空间的名字,叫做undo表空间的切换。
3、切换时,有事务未完成,切换后,旧的undo表空间为 pending offline 状态,不能被删除,当事务提交后,变为offline状态,才可以删除。
4、如果undo表空间不能扩展,在不够情况下,会将保留时间小于 undo_retention 的undo数据覆盖。但可以通过设置参数保留,出现该情况直接报错
SQL>alter tablespace undonew add datafile 'u01/app/oracle/oradata/ora10g/undonew02.dbf' size 10M autoextend on maxsize 100M retention guarantee;
SQL>alter tablespace undonew retention guarantee;
SQL>alter tablespace undonew retention noguarantee;
五、计算undo表空间大小
1、利用视图 v$undostat
oracle 每隔 10分钟更新视图,将10分钟产生的undo个数记录在该视图,保留7天的数据,总共 1008行记录。
2、公式:
undospace = undo retention * undo per second * overhead(24 undo blocks)
其中: undo retention 参数 undo_retention
undo per second 通过查询 v$undostat 来计算。
相关文章推荐
- oracle10g系统管理之UNDO表空间
- oracle undo 表空间的监控管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)补充说明
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十(C#开发)-空间数据导入RDBMS上-MDB格式
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十五(C#开发)-空间数据导出
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十四(C#开发)-元数据库库管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十八(C#开发)-数据字典编辑
- ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-ArcGIS_Engine中的数据访问
- Oracle UNDO表空间的管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台一(C#开发)-系统功能介绍及展示
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台三(C#开发)-多皮肤主界面功能
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台五(C#开发)-通用工具类
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十(C#开发)-空间数据导入RDBMS上-MDB格式
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十一(C#开发)-空间数据字段检查
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台三(C#开发)-多皮肤主界面功能
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十一(C#开发)-空间数据字段检查
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-ArcGIS_Engine中的数据访问
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十五(C#开发)-空间数据导出
- Oracle10G学习笔记之九表空间的管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台三(C#开发)-多皮肤主界面功能