暂无图片
如何在数据库中设置 undo retention 参数?
我来答
分享
吾亦可往
2024-08-29
如何在数据库中设置 undo retention 参数?

如何在数据库中设置 undo retention 参数?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
伟鹏

通过如下命令查看当前undo_retention的设置,默认是900s

show parameter undo;
复制

然后通过如下命令设置undo_retention,这个值可以根据自己的需求设置,单位为s

alter system set undo_retention=3600 scope=both;
复制
暂无图片 评论
暂无图片 有用 2
打赏 0
广州_老虎刘

1.如果undo表空间没有设置成自动扩展, 单纯的设置undo_retention是没有意义的;

2.如果undo表空间设置了自动扩展,  也无法保证设置的这个时间, 因为可能自动扩展的空间也没有了(表空间达到最大,文件系统满等情况)

3.如果要确保设置的undo_retntion生效, 需要undo表空间自动扩展, 同时还要ALTER TABLESPACE undotbs RETENTION GUARANTEE;   这种情况就能保证查询时长在undo_retention内的SQL不会出现ora-01555错误, 但是一些dml语句可能因为undo空间不够而失败

暂无图片 评论
暂无图片 有用 1
打赏 0
风行

使用 SHOW PARAMETER undo_retention 命令可以查看当前数据库中 undo_retention 参数的设置。例如:

SQL> SHOW PARAMETER undo_retention;


这将显示当前的 undo_retention 参数值。

如果需要修改 undo_retention 参数的值,可以使用 ALTER SYSTEM 语句。例如,将 undo_retention 设置为 1200 秒(即 20 分钟):

SQL> ALTER SYSTEM SET undo_retention = 1200;


这将使数据库中的 undo_retention 参数值变为 1200 秒。

修改参数后,可以再次使用 SHOW PARAMETER undo_retention 命令来验证参数值是否已成功更新。例如:

SQL> SHOW PARAMETER undo_retention;


这将显示修改后的 undo_retention 参数值。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏