更新时间:2024-05-31 GMT+08:00
分享

Undo

undo_space_limit_size

参数说明:用于控制undo强制回收阈值,达到阈值的80%启动强制回收。建议设置undo_space_limit_size参数不小于undo_limit_size_per_transaction参数。

参数类型:整型

参数单位:页面(8kB)

取值范围:102400~2147483647,对应的默认单位为页面。

默认值:256GB

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,取值10000,表示undo_space_limit_size为10000页;取值10000kB,表示undo_space_limit_size为10000kB。取值如果要带单位,必须为kB、MB、GB,不能为TB。

设置建议:一般情况保持默认值即可。如果磁盘空间很小,无法满足默认值的需求,可以按需将该参数调小;如果业务中存在长事务或大事务,需要根据磁盘情况将 undo_space_limit_size 调大,具体调整值可以参考 gs_stat_undo 系统函数的“info”列,详见《开发者指南》中“SQL参考 > 函数和操作符 > 系统管理函数 > Undo 系统函数”章节的“gs_stat_undo 参数说明”表。

undo_limit_size_per_transaction

参数说明:用于控制单事务undo分配空间阈值,达到阈值时事务报错回滚。建议设置undo_limit_size_per_transaction参数不大于undo_space_limit_size参数。若设置的undo_limit_size_per_transaction参数大于undo_space_limit_size参数,用户调用show undo_limit_size_per_transaction命令查询参数值时,显示出来的值和用户设置的值仍保持一致,只是在使用时会取undo_space_limit_size和undo_limit_size_per_transaction两者的较小值,作为实际的单事务undo分配空间阈值。

参数类型:整型

参数单位:页面(8kB)

取值范围:256~2147483647,对应的默认单位为页面。如果设置的值超过了134217728(即1TB),则实际生效的值为134217728。

默认值:32GB

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,取值10000,表示undo_limit_size_per_transaction为10000页;取值10000kB,表示undo_limit_size_per_transaction为10000kB。取值如果要带单位,必须为kB、MB、GB,不能为TB。

设置建议:一般情况保持默认值即可。如果磁盘空间/内存空间很小,无法满足默认值的需求,可以按需将该参数调小;如果业务中存在长事务或大事务,单个事务内产生 Undo 记录量大于该参数设置值,需要根据磁盘情况将 undo_limit_size_per_transaction 调大,具体调整值可以参考 gs_stat_undo 系统函数的“info”列,详见《开发者指南》中“SQL参考 > 函数和操作符 > 系统管理函数 > Undo 系统函数”章节的“gs_stat_undo 参数说明”表。如果设置 undo_limit_size_per_transaction 超过 1TB,可能会影响系统的性能和稳定性,如果设置的值超过了134217728(即1TB),用户调用show undo_limit_size_per_transaction命令查询参数值时,显示的值和用户设置的值保持一致,但实际生效的值为134217728。

分享:

    相关文档

    相关产品