首页 > 解决方案 > 如何修复 oracle db 上的撤消保留大小

问题描述

我想更新表上的数百万条记录。当我执行我的查询时,它在 10 分钟后给出错误

像这样的错误:snapshot too old: rollback segment number 1853 with name .... too small

我试过ALTER SYSTEM SET UNDO_RETENTION= 86400; 但错误仍在继续..

我试过ALTER SYSTEM SET UNDO_MANAGEMENT = AUTO 但oracle给出了那个错误The specified initialization parameter is not modifiable `

标签: sqloracle

解决方案


“指定的初始化参数不可修改”这意味着您必须发出带有 SCOPE=SPFILE 修饰符的 ALTER 语句,然后重新启动实例。尽管您仍然应该遵循 @pmda 的建议并与您的 dba 一起增加 UNDO 表空间的大小。


推荐阅读