RMAN原理(四)--UNDO表空间备份增强
2013-12-10 10:49
232 查看
Oracle 11g 新特性:UNDO表空间备份增强
由于UNDO表空间在恢复时不可缺少,在进行备份时必须备份该表空间,但是一旦事务提交,修改被确认,则该事务的前镜像被标记为INACTIVE,其中的信息在恢复时也就不会被用到,如果在备份时能够跳过这些数据,则备份UNDO表空间的效率就可以大大提高。
在Oracle Database 11g中,Oracle引入了一个新的特性RMAN UNDO备份优化。在RMAN备份UNDO表空间时,提交事务的UNDO信息将不备份,这个特性随RMAN强制启用。关于UNDO表空间备份片的压缩比例在我自己的测试环境可以达到100:1
--11g增强特性,undo不备份提交的事务
SQL>select file#,name,ceil(bytes/1024/1024) MB,status from v$datafile;
3 /oracle/oradata/CJ/undotbs01.dbf 3072 ONLINE
RMAN> backup datafile 3 format '/oracle/rmanback/undotbs_%d_%T_%s_%p.bak';
======================================================================
UNDO 表空间故障处理后回滚段的一致性问题说明
数据库在非clean shutdown的情况,需要进行instance recovery。这里会做2个操作:前滚(根据redo 推进数据),前滚完成以后,在根据回滚段中的数据,对未完成的事务进行回滚操作。
当前滚操作完成后,数据库就可以open。 只要数据库能open,也就意味着所有的事务已经提交。当数据库open以后,smon 进程再对未提交的事务进行回滚。
在这个回滚的回滚的过程中,如果undo record number和redo record 记录的不一致,就可能会触发ora-600[4194] 或者 ora-600[4193]。4开头的多与undo有关
那么我们重建undo 表空间后,就可以避免SMON 进程在回滚时触发ORA-600[4194]/[4193]。因为我们创建并使用新的undo 表空间,该表空间对应的undo segment number比我们当前的undo segment number 高。所以当事务对block 进行clean-out的时候,会参考不存在的undo segment,所以就不会报错,然后继续对block 进行clean-out操作,即把一个块中的数据从
dirty 变为 clean,本质上是更改 block header 中的一个标志位。
由于UNDO表空间在恢复时不可缺少,在进行备份时必须备份该表空间,但是一旦事务提交,修改被确认,则该事务的前镜像被标记为INACTIVE,其中的信息在恢复时也就不会被用到,如果在备份时能够跳过这些数据,则备份UNDO表空间的效率就可以大大提高。
在Oracle Database 11g中,Oracle引入了一个新的特性RMAN UNDO备份优化。在RMAN备份UNDO表空间时,提交事务的UNDO信息将不备份,这个特性随RMAN强制启用。关于UNDO表空间备份片的压缩比例在我自己的测试环境可以达到100:1
--11g增强特性,undo不备份提交的事务
SQL>select file#,name,ceil(bytes/1024/1024) MB,status from v$datafile;
3 /oracle/oradata/CJ/undotbs01.dbf 3072 ONLINE
RMAN> backup datafile 3 format '/oracle/rmanback/undotbs_%d_%T_%s_%p.bak';
======================================================================
UNDO 表空间故障处理后回滚段的一致性问题说明
数据库在非clean shutdown的情况,需要进行instance recovery。这里会做2个操作:前滚(根据redo 推进数据),前滚完成以后,在根据回滚段中的数据,对未完成的事务进行回滚操作。
当前滚操作完成后,数据库就可以open。 只要数据库能open,也就意味着所有的事务已经提交。当数据库open以后,smon 进程再对未提交的事务进行回滚。
在这个回滚的回滚的过程中,如果undo record number和redo record 记录的不一致,就可能会触发ora-600[4194] 或者 ora-600[4193]。4开头的多与undo有关
那么我们重建undo 表空间后,就可以避免SMON 进程在回滚时触发ORA-600[4194]/[4193]。因为我们创建并使用新的undo 表空间,该表空间对应的undo segment number比我们当前的undo segment number 高。所以当事务对block 进行clean-out的时候,会参考不存在的undo segment,所以就不会报错,然后继续对block 进行clean-out操作,即把一个块中的数据从
dirty 变为 clean,本质上是更改 block header 中的一个标志位。
相关文章推荐
- Oracle11g 新特性:优化Rman备份UNDO表空间
- Oracle 11g UNDO表空间备份增强
- RMAN备份与恢复之UNDO表空间丢失
- Oracle bigfile 大文件表空间会影响rman等备份效率
- 使用Oracle可传输表空间的特性复制数据(6)RMAN备份也创建
- 【oracle11g,13】表空间管理2:undo表空间管理(调优) ,闪回原理
- ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件
- 使用Oracle可传输表空间的特性复制数据(7)实战RMAN备份传输表空间
- RMAN原理(二)--数据块备份
- rman 备份原理
- RMAN备份与恢复之表空间
- RMAN恢复之新建表空间没有备份,datafile被破坏
- Oracle备份恢复之无备份情况下恢复undo表空间
- rman备份+完全备份+完全备份案例+查看备份集和备份段信息+备份表空间案例+查看备份的表空间users信息
- rman备份原理
- oracle联机热备原理及rman增量备份原理
- RMAN备份与恢复—恢复有备份的表空间和数据文件
- undo 表空间的扩展与收缩及oracle手工备份 恢复的方式
- RMAN进行表空间的备份和恢复
- ORACLE 运用RMAN删除过期备份和日志文件 释放空间