返回首页

gbase数据、南大通用产品文档:GBase8sSTATCHANGE 配置参数

更新日期:2024年09月11日

当启用 UPDATE STATISTICS 操作的自动模式时,如果分布统计有资格更新,则使用
STATCHANGE 配置参数来指定数据库用来确定更改阈值的全局百分率的一个正整数。
onconfig.std 值
STATCHANGE 10

0 - 100
单位
更改阈值的百分率
生效

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 156 -
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
当 AUTO_STAT_MODE 配置参数、AUTO_STAT_MODE 会话环境变量或 UPDATE STATISTICS 语
句的 AUTO 关键词启用 UPDATE STATISTICS 操作的自动模式时,数据库服务器使用
STATCHANGE 配置参数的值。
当启用 UPDATE STATISTICS 操作的自动模式时,STATCHANGE 设置为数据库服务器指定一
个更改阈值,用来确定分布统计是否有资格更新。当启用这个模式时,UPDATE
STATISTICS
语句比较该 STATCHANGE 设置与自动计算当前数据分布以来每一表或分片更改行的百分
率,并有选择地仅更新在 UPDATE
STATISTICS 语句范围内每一表或分片丢失的或陈旧的分
布统计。

SQLNumResultCols 返回结果集中的列数。
下表描述了 SQLNumResultCols 的 SQLSTATE 和错误值。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1008
-11065
Operation canceled
S1010
-11067
Function-sequence error
S1T00
-11094
Time-out expired
SQLNumResultCols 可以返回在 SQLPrepare 之后,SQLExecute 之前调用
SQLNumResultCols 时,SQLPrepare 或 SQLExecute 返回的任何 SQLSTATE ,这取决于
数据源何时评估与 hstmt 关联的 SQL 语句。

更新500 亿大表全文索引导致gbased oom
问题现象
GBase 8a MPP Cluster 更新500 亿大表全文索引时报错,全文索引更新语句:UP
DATE INDEX "IX_RG010005" ON "horus"."rwa_source_0001",企业管理器报错:
gcluster table error:Server shutdown in progress。
原因分析
初步判断为更新记录太多导致内存不足,gbased 进程被操作系统重启了。全文默认
参数是支持增量更新的,会在索引过程中持有字典,大批量一次更新会导致内存吃
紧。
解决方法
不调整全文检索常驻内存参数reduceMemoryMode(常驻内存),测试更新500 亿
大表全文索引,复现了类似操作系统重启的情况。集群第1 个节点系统crash 日志
显示gbased 引起内存溢出(oom panic),进而导致系统reboot。
同时验证将常驻内存参数reduceMemoryMode 设为1(不常驻内存),更新500 亿
大表全文索引(4 个字段),都操作成功。