Posted by dbtan on 十二月 28th, 2009 Oracle 11g UNDO表空间备份增强:
前面提到,由于UNDO表空间在恢复时不可缺少,所以在进行备份时必须备份该表空间,但是一旦事务提交,修改被确认,则该事务的前镜像被标记为INACTIVE,其中的信息在恢复时也就不会被用到,如果在备份时能够跳过这些数据,则备份UNDO表空间的效率就可以大大提高。
在Oracle Database 11g中,Oracle引入了一个新的特性RMAN UNDO备份优化。在RMAN备份UNDO表空间时,提交事务的UNDO信息将不备份,这个特性随RMAN强制启用。在测试中,一个395MB的UNDO表空间备份文件的大小仅为10.06M:
sys@TQGZS11G> select file#,name,ceil(bytes/1024/1024) MB,status from v$datafile;
... ...
<阅读全文>
Posted by dbtan on 十二月 28th, 2009 Oracle 10g In Memory Undo新特性:
通过以前的介绍,可知道Undo的管理方式和常规的数据管理方式是相同的,当进行数据修改时,会在Buffer中创建前镜像,同时会记录相应的Redo,然后这些Undo数据同样会写出到UNDO SEGMENT上,当进行一致性读或回滚时,可能会产生大量的consistent gets和physical reads。注意到这里,Undo会产生Redo信息,又会写UNDO SEGMENT,进而又可能产生大量读取I/O,这些都是资源密集型操作。如果能够缩减Undo在这些环节的Redo与Undo写出,那么显然就可以极大地提升数据库性能,减少资源的消耗和使用。
从Oracle 10g开始,Oracle在数据库中引入了In Memory Undo(可以被缩写为IMU)的新技术,使用这一技术,数据库会
... ...
<阅读全文>
Posted by dbtan on 十二月 28th, 2009 UNDO_RETENTION的内部实现:
UNDO_RETENTION机制从Oracle 9i开始引入,为了实现这一机制,Oracle在Undo Segment Header上创建了一个Retention Table用于记录相关Undo存储的提交时间,从而实现其保留策略。接下来看一下这个Retention Table的内容,以下测试来自Oracle 11g数据库环境:
sys@TQGZS11G> select banner from x$version where indx=3;
BANNER
------------------------------------------------------------
TNS for Linux: Version 11.1.0.7.0 - Production
首先使用测试用户执行一个DML事务,删除测试表中的部分数据:
sys@T
... ...
<阅读全文>
Posted by dbtan on 十二月 28th, 2009 Oracle 10g的UNDO_RETENTION管理增强:
在AUM模式下,UNDO_RETENTION参数用以控制事务提交以后Undo保留的时间。该参数以秒为单位,9iR1初始值为900秒,在Oracle 9iR2增加为10800秒。但是这是一个NO Guaranteed的限制。也就是说,如果有其他事务需要回滚空间,而空间出现不足时,这些信息仍然会被覆盖。
从Oracle 10g开始,如果设置UNDO_RETENTION为0,那么Oracle启动自动调整以满足最长运行查询的需要。当然如果空间不足,那么Oracle满足最大允许的长时间查询。而不再需要用户调整。当设置undo_retention为0后,在警告日志文件中可以看到“Autotune of undo retention is turned on.... ...
<阅读全文>
Posted by dbtan on 十二月 23rd, 2009 回滚段的前世今生:
在Oracle 9i之前,回滚表空间创建之后,Oracle随后创建回滚段供数据库使用,也可以手工创建或者删除回滚段进行维护,比如在开始事务之前,可以通过如下命令指定使用特定的回滚段:
set transaction user rollback segment <rollback_segment_name>;
可以从数据库中查询这些回滚段的状态:
sys@TQGZS> select segment_name,tablespace_name,status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME &
... ...
<阅读全文>
Recent Comments