更新时间:2024-11-12 GMT+08:00
分享

SPM计划管理

spm_enable_plan_capture

参数说明此参数用来控制SPM计划捕获功能的计划捕获模式。该参数可在PDB级别设置。

参数类型:枚举类型

参数单位:

取值范围

  • off:表示不开启计划捕获功能。
  • auto:表示开启自动计划捕获功能。在这种模式下,SQL计划被捕获的前置条件是SQL被执行两次及以上。
  • manual:表示开启手动计划捕获功能。在这种模式下,SQL计划被捕获的前置条件不需要满足SQL被执行两次及以上。
  • store:基于auto选项的行为,所有计划的状态都捕获为UNACC状态。

默认值off。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议:不使用SPM功能时推荐使用默认值,若使用SPM则根据需求进行设置。

设置不当的风险与影响:若不使用SPM相关功能,打开该参数会导致一定的性能劣化。

在升级期间,无论该开关是否开启,都不会捕获新的计划的outline,因为升级期间可能发生升级回滚,如果存储了新产生的outline,升级回滚后,可能会存在outline版本兼容性问题。

spm_enable_plan_selection

参数说明此参数用来控制是否启用SPM计划选择功能。该参数可在PDB级别设置。

参数类型:布尔型

参数单位:

取值范围

  • on:表示启用计划选择功能。
  • off:表示关闭计划选择功能。

默认值off。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议:不使用SPM功能时推荐使用默认值,若使用SPM,需要设置为on。

设置不当的风险与影响:若不使用SPM相关功能,打开该参数会导致一定的性能劣化。

spm_plan_capture_filter

参数说明:此参数用来指定要捕获的数据库与Schema。该参数可在PDB级别设置。

参数类型:字符串

参数单位:

取值范围:最多捕获10000个Schema,计数包括重复Schema。

参数的格式为:“$db1_oid:$schema1_oid, $db2_oid:$schema2_oid..”,例如符合该格式的一组参数“33245:56432,44321:12332,55432:65432”表示:

  • 33245:56432表示捕获DB oid为33245且schema oid为56432下的SQL计划。
  • 44321:12332表示捕获DB oid为44321且schema oid为12332下的SQL计划。
  • 55432:65432表示捕获DB oid为55432且schema oid为65432下的SQL计划。

默认值:"",表示SPM的计划捕获和计划选择功能包含所有Schema。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。若只需收集指定schema的计划或schema的数据量超过阈值,可以指定相关schema。

设置不当的风险与影响:使用SPM相关功能时,如果设置的schema oid不准确,可能导致收集不了所有计划。

spm_plan_global_cached_size

参数说明:指定SPM global plan cache的大小。

参数类型整型

参数单位:kB

取值范围:10240 ~ 20971520

默认值:1048576(即1GB)

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

设置建议:建议在压力大的场景中增加数据库节点中此参数配置。

设置不当的风险与影响:使用SPM相关功能时,过小会影响SPM功能的使用导致性能下降,过大会导致内存占用升高,请酌情设置。

spm_plan_session_cached_size

参数说明:指定SPM session plan cache的大小。该参数可在PDB级别设置。

参数类型整型

参数单位kB

取值范围:1 ~ 1048576

默认值:1024(即1MB)。在PDB场景内,若未设置该参数,则继承来自全局的设置。

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

设置建议:建议在压力大的场景中增加数据库节点中此参数配置。

设置不当的风险与影响:使用SPM相关功能时,过小会影响SPM功能的使用导致性能下降,过大会导致内存占用升高,请酌情设置。

spm_plan_capture_max_plannum

参数说明:指定单个数据库最大落盘计划的数量。

参数类型:整型

参数单位:

取值范围:1 ~ 1000000

默认值:10000

设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:使用SPM相关功能时,过小会影响SPM捕获计划的数量,导致新增计划无法管理,过大会影响磁盘空间,请酌情设置。

spm_plan_retention_days

参数说明:指定不使用的计划在磁盘上的预留时间。

参数类型:整型

参数单位:

取值范围:1 ~ 1095

默认值:365

设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值,若磁盘空间不足或业务频繁变更,可以考虑将该值设置小一些。

设置不当的风险与影响:使用SPM相关功能时,过小会频繁淘汰计划导致无法管理。

spm_enable_log_detail

参数说明在使用SPM的过程中,控制是否启用notice SPM关键执行流程。该参数通常和如下两个参数的设置配合使用,用于在gsql中查看SPM的执行过程:client_min_messages=notice;logging_module='on(SPM_KEY_FLOW)'。该参数可在PDB级别设置。

参数类型:布尔型

参数单位:

取值范围

  • on:表示启用。
  • off:表示关闭。

默认值off。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:使用SPM相关功能时,建议只在调试时使用,设置不当会导致大量日志。

spm_enable_baseline_cleanup

参数说明是否启用baseline定时清理功能。

参数类型:布尔型

参数单位:

取值范围

  • on:表示启用baseline定时清理功能。
  • off:表示关闭baseline定时清理功能。

默认值on

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:使用SPM相关功能时,若设置为off则参数spm_plan_retention_days无效,不会清理过时计划。

相关文档