undo_retention参数的作用是设定当事务Commit / Rollback后,该事务所使用的undo块里的数据需要保留多长时间;当保留的时间超过undo_retention参数所指定的时间以后,该undo块才能被其他事务覆盖。
undo_retention参数的单位:秒
默认情况下,Oracle 10g会每隔30秒收集一次统计信息来自动调整undo_retention,收集的信息包括运行时间最长的查询、产生undo的速度等。
我们可以通过设置undo_retention参数来改变这种自动的调整。
undo_retention参数的默认值为900秒。
如果没有设定该参数,或者指定了0,则Oracle会自动调整undo_retention,并以900秒作为最低值。
如果设置undo_retention为0,则实例会获取运行时间最长的那个查询所需要的时间,如为N秒,然后将undo信息保留N秒。当undo表空间太小,而不能保留这个最长的时间时,则会尽可能利用现有的可用空间来让undo保留的时间尽可能长,并不会立刻扩展undo数据文件。除非要覆盖的undo信息是在900秒以内发生的,才会去扩展数据文件。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/81227/viewspace-688514/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/81227/viewspace-688514/