数据库恢复:当出现实例故障时,联机重做日志文件把已提交和未提交的事务前滚(roll forward)到实例故障发生点之后,撤销表空间中的撤销数据用来回退未提交事务。
***************************************
Oracle 不推荐手工撤销管理方式,尽管在10G中这是默认的管理方式。
通过以下命令改变undo_management参数可以改成自动管理方式。
alter system set undo_management = auto scope = spfile;
此处不用特意指定undo_tablespace。因为oracle实例在启动时所发现的第一个undo tablespce会自动被分配给undo_tablespce参数。
然后重启实例。
可以使用show parameter undo_management 命令查看当前的管理方式。
*****************************************
undo_retention参数:
这个参数以秒为单位,指定已经提交的撤销信息在能够被覆盖之前应该保持多长时间。
“应该保持多长时间”并不是一个强制的措施。因此指望通过指定undo_retention参数来保留undo信息是不可靠的。一般情况下,这个参数将保证undo信息至少维持15分钟(900秒)。所有的undo信息都属于如下3个类别之一:
1.未提交的undo信息。显而易见的是,这类undo信息是不能被覆盖的。
2.已提交的undo信息。undo信息保留的时间由undo_retentino参数指定,但是如果其他事务需要undo表空间,那么它可以被覆盖。
3.过期的undo信息。可以被覆盖。
请注意,将undo_retention的值修改的越大,需要的表空间就越大,这将对数据库产生很大的影响。
********************************************
DBA应该关掉undo表空间的自动扩展特性,前提是DBA认为undo表空间已经被确定了合适的大小。这样可以避免浪费undo表空间。
通过查询v$undosat查看undo信息。
*******************************************
保障撤销保持能力。
原书有错误,可以通过EM console来修改该参数。
或者SQL也可以。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16591471/viewspace-630702/
,如需转载,请注明出处,否则将追究法律责任。