返回首页

gbase数据、南大通用产品文档:GBase8agroup by 数据重分布参数

更新日期:2024年09月11日

_t_gcluster_hash_redistribute_groupby_on_multiple_expression

GBase 8a MPP Cluster 最佳实践
4 参数调优
文档版本(2022-02-11)
南大通用数据技术股份有限公司
32
_t_gcluster_hash_redistribute_groupby_on_multiple_expression 参数用于按
照group by 运算的所有列进行hash 重分布,默认取值为0 即关闭。
对于group by 的第一个字段是常量字段或少量取值字段的SQL,可尝试打开该参
数进行优化。

GBase JDBC 连接数据库异常
通过GBase JDBC 试图连接一个数据库时,得到如下的异常:
SQLException: Server configuration denies access to data source
SQLState: 08001
VendorError: 0
什么原因?通过GBase 命令行管理工具连接正常。
回答:
GBase JDBC 必须使用TCP/IP 套接字来连接GBase,由于Java 不支持Unix
Domain 套接字。因此,当GBase JDBC 连接 GBase 时,GBase 中的安全管理器
会使用它的授权表来决定连接是否被允许。
用户必须增加授权来允许这种情况。下面的例子会告诉用户如何来做(不
是最安全的)

从sqlcli 命令行客户端,
作为一个可以授权的用户登录,
利用如下的命令:

GRANT ALL PRIVILEGES ON [dbname].* to '[user]'@'[hostname]'
identified by '[password]'
以用户的数据库的名字代替[dbname],以用户的用户名代替[user] ,用要
连接GBase JDBC 的主机名称代替[hostname],并用用户密码代替[password]。
注意,对于从本地主机进行连接的主机名部分,RedHat Linux 将失败。在这种
情况下,
对于[hostname]值用户需要使用localhost.localdomain。
在这之后使
用FLUSH PRIVILEGES 命令。

GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 181 -
注意:
除非添加了“—host”标志,并为主机使用了不同于localhost 的其他设
置,否则将无法使用GBase 命令行客户端测试连通性。如果用户使用特定的主
机名localhost,那么sqlcli 命令行客户端会使用Unix
Domain 套接字。如果
用户测试与localhost 的连通性,那么使用“127.0.0.1”来作为主机名。
警告:
如果用户不明白GRANT 是做什么的,或它如何工作,用户应该在试图改变
权限之前阅读并理解GBase 手册中的“GBase 访问权限系统”以及“常规安全
问题”两节。
在GBase 中不恰当地改变权限和许可,可能会使服务器不再具有最佳的安
全性能。

Input value is not valid
此数据类型不接受此输入值。请确保此输入值是对该数据类型是一个有效输入。