虽然默认情况下Oracle会自动管理还原数据和还原表空间,但如果在安装Oracle时使用了闪回功能,就必须要执行一些还原管理任务来保证这些操作的成功。
如果Oracle闪回操作的结果是snapshot too old错误,则表明你必须介入保证足够的还原数据被保留来支持这些操作。
下面的方法会很好地支持Oracle闪回操作:
n 为自动提扩展的表空间设置最小的还原保留周期,与最远希望执行的Oracle闪回操作相等。这个操作是通过设置初始化参数UNDO_RETENTION来完成。
n 把还原表空间改为固定大小。
对于自动扩展的还原表空间,数据库总是自动调整保留时间比运行时间最长的活动查询稍微长一点。然而这种自动保留周期的调整并不能满足Oracle的闪回操作。如果还原表空间禁止了自动扩展或被调整为固定的大小,则Oracle会使用另外的方法来调整还原保留周期来更好地适应闪回操作。
把还原表空间改为固定大小,必须选择一个足够大的表空间大小,如果还原表空间太小,则会引发下面的错误:
u DML可能失败,因为没有足够的空间来容纳新事务的还原数据。
u 长时间运行的查询可能失败,因为snapshot tool old错误,这意味着没有足够多的还原数据来保证读一致性。
OEMDC 包括的还原指导可以帮助我们决定固定大小的还原表空间的最小大小。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1076523/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1076523/