sql - 如何修复 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
`
解决方案
“指定的初始化参数不可修改”这意味着您必须发出带有 SCOPE=SPFILE 修饰符的 ALTER 语句,然后重新启动实例。尽管您仍然应该遵循 @pmda 的建议并与您的 dba 一起增加 UNDO 表空间的大小。
推荐阅读
- mediawiki - 将 CodeMirror 添加到 MediaWiki 页面
- c - 给定一个内存地址,我如何在 C 中打印位于该地址的字节?
- c++ - c ++将动态分配的二维向量传递给函数
- python - 如何用 SIR 模型拟合数据 - Python
- ffmpeg - mac os catalina 10.15.3上的ffmpeg问题
- github-actions - 如果使用 GitHub 操作的矩阵策略,运行 tox 不是多余的吗?
- python - ROS rqt_graph 不再启动(ImportError DEFAULT_MASTER_PORT)
- c# - 在 ASP.NET MVC 中提交表单什么都不做
- java - JavaFX 中是否有允许您单击超链接并在 Chrome 或 Firefox 等浏览器中打开它的功能?
- python - 为什么我无法从填充了 Ints 的列表中获取索引?