返回首页

gbase数据、南大通用产品文档:GBase8a_gbase_date_function_mode

更新日期:2024年09月11日

取值:[0|1|2]
默认值:0
说明:控制日期类型和数字计算的行为。
0. 日期类型
1. 兼容老版本,结果是int 类型
2. 报错
默认关闭。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 789 -

dbspace(SQL 管理 API)
随同 admin() 或 task() 函数,使用 set dataskip 参数来指定数据库服务器在处理事务期间
是否跳过不可用的 dbspace。
语法

元素
描述
关键考虑
dbspace
要开始或要停止跳过的 dbspace 名。


用法
运行这个函数来更新 DATASKIP 配置参数的值,指定数据库服务器在处理事务的过程中
是否跳过不可用的 dbspace(例如,由于介质故障)。
当指定的 dbspace 停止工作时,使用 set dataskip on 参数来开始跳过它。
使用 set dataskip off 参数来停止跳过指定的 dbspace。
这个函数等同于 onspaces -f 命令。
示例
如果名为 dbsp1 的 dbspace 停止工作,则下列示例跳过它:
EXECUTE FUNCTION task("set dataskip on","dbsp1");

内存管理设置(SQL 管理 API)
随同 admin() 或 task() 函数,使用 scheduler lmm enable 参数来启动自动的低内存管理并
更新低内存阈值设置。
语法

元素
描述
关键考虑
start_threshold_size
您想要数据库服务器保持
的空闲内存量。
如果内存量
少于
start_threshold_size,

服务器自动地释放内存并
终止应用。
该值可表示为 SHMTOTAL
配置参数值的百分率或特
定数量。
如果该值小于 50,
则认为是百分率。
输入参数
的结果值必须大于 5
MB 且
小于 95 MB。
缺省值为 5 MB。
在 LMM START THRESHOLD
与 LMM STOP THRESHOLD 之
间必须至少差 5 MB

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 786 -

元素
描述
关键考虑
stop_threshold_size
在服务器停止自动释放内
存和终止应用之前,
您想要
数据库服务器拥有的空闲
内存量。
该值可表示为 SHMTOTAL
配置参数值的百分率或特
定数量。
如果该值小于 50,
则认为是百分率。
输入参数
的结果值必须大于 10 MB
且小于 100 MB。该值还必
须至少比 LMM START
THRESHOLD 多 5 MB。
缺省值为 10 MB。
minimum_amount_of_time
定义会话为空闲的时间量,
以秒为单位
该值必须在 1 与 86400
之间。
缺省值为 300 秒。

用法
随同 admin() 或 task() 函数,您使用 scheduler lmm disable 参数来在主数据库服务
器或标准数据库服务器中停止当前和后续的低内存管理进程。 当触发低内存管理时,数据
库服务器按下列顺序执行这些任务:
1. 数据库服务器终止会话,从会话有最大的空闲时间量开始一次启动一个,如有必要
继续到会话有最小空闲时间量,时间量超过 LMM IDLE TIME 设置中指定的数量。
当达到 LMM STOP THRESHOLD 时,服务器停止终止会话。
2. 数据库服务器终止会话,从使用最多内存的会话开始,如有必要继续到使用最小内
存量的会话,直到达到 LMM STOP THRESHOLD。
3. 通过设置 VP_MEMORY_CACHE 配置参数为 0,数据库服务器执行内存重新配置,并
运行 onmode -F 命令来释放不用的共享内存段。
当低内存管理操作完成时,通过将 VP_MEMORY_CACHE 配置参数设置回其原始值,低内存管
理器返回到监视模式并恢复数据库服务器的内存配置。
数据库服务器在 ph_threshold 表中存储自动低内存管理设置。
您可用 onstat -g lmm 命令查看低内存管理设置和近期的活动。
注意:
如果您启用自动的低内存管理并配置数据库服务器来使用 SHMTOTAL 配置参数指定
值的百分率作为启动和停止阈值,则当更改 SHMTOTAL 配置参数值时请使用警告。更改
SHMTOTAL 配置参数值可导致自动低内存管理的配置变得无效,强制 GBase
8s 使用缺省设
置。
设置低内存管理阈值设置的示例

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 787 -

下列示例指定当数据库服务器有 10
MB 或更少的空闲内存时,服务器会启动自动低内存管
理停止应用并释放内存。该示例还指定如果会话尚未运行 300 秒则认为会话空闲,该示例
指定当服务器有 20 MB 或更多空闲内存时会停止自动低内存管理。
EXECUTE FUNCTION task("scheduler lmm enable",

"LMM START THRESHOLD", "10MB",

"LMM STOP THRESHOLD", "20MB",

"LMM IDLE TIME", "300");
SHMTOTAL 配置参数影响低内存管理阈值设置的示例
假定您设置 SHMTOTAL 配置参数为 1000000(1000
MB 或 1
GB),LMM
START
THRESHOLD 为
2,且 LMM STOP THRESHOLD 为 3。因为任何小于 50 的值都是 SHMTOTAL 值的百分率,所
以实际的 LMM
START
THRESHOLD 为 20000
(20
MB)
且实际的 LMM
STOP
THRESHOLD 为 30000
(30 MB)。
当剩余空闲内存为 20
MB 或更少时,
数据库服务器开始管理低内存,
且当空闲内存量为 30
MB 或更多时,停止管理内存。
假定您决定更改 SHMTOTAL 配置参数的值,因为您知道现在不需要这么多内存,您想要让
操作系统使用内存。
请您设置 SHMTOTAL 的值为 250000
(250
MB)

这更改实际的 LMM
START
THRESHOLD 为 5000(5 MB),实际的 LMM STOP THRESHOLD 为 7500(7.5 MB)。LMM STOP
THRESHOLD 现在无效,因为 LMM START THRESHOLD 与 LMM STOP THRESHOLD 值之间必须至
少差 5 MB。LMM STOP THRESHOLD 值还必须至少为 10 MB。
对于您的系统,你可能已经决定差 10 MB 是正确的数量。但是差 5 MB,数据库服务器可
能会在低内存管理进程上花费太多的时间,这可能导致性能问题。