春风吹又生

回答

春风吹又生 回答了问题2020-08-13

类似IP形式“111.195.130.0/24”求ip的范围值

可以编写自定义函数f_iptorange来实现 DELIMITER | CREATE DEFINER="gbase"@"%" FUNCTION "f_iptorange"(ip_address VARCHAR ,prefix VARCHAR) RETURNS varchar(100) CHARSET utf8 begin declare v_return VARCHAR; declare v_comma1 int; declare v_comma2 int; declare v_comma3 int; declare v_length int; declare v_ipaddr1 int; declare ...
春风吹又生 回答了问题2020-08-13

遇到二进制转换为10进制时可以编写自定义函数f_bin_to_dec

[align=left][font=微软雅黑][size=3]DELIMITER | CREATE DEFINER="gbase"@"%" FUNCTION "f_bin_to_dec"(p_str VARCHAR) RETURNS int(11) BEGIN declare v_return int default 0; declare i int default 1; while i <= length(p_str) do set v_return = v_return + substring(p_str, i, 1) * power(2, length(p_str)-i); set i=i+1; end while; return v_return; END |[/size][/font][/align]
春风吹又生 回答了问题2020-08-06

GBase 8a集群如何实现类似Oracle的Pro*C功能可对嵌入式SQL进行...

[align=left][font=微软雅黑][size=3]建议将嵌入式SQL的C语言程序修改成标准的与数据库交互的C语言程序代码,让C程序代码具备与其它数据库兼容性。[/size][/font][/align]
春风吹又生 回答了问题2020-08-06

GBase 8a 集群的sql中出现了关键字列执行后报错

[align=left][font=微软雅黑][size=3]最终解决方案: GBase 8a集群支持像Oracle一样可以识别SQL中的关键词,并正确执行。 过渡解决方案: (1)将SQL语句出现的关键词通过表名来调用,例如:select exchange from testtbl where exchange = ‘***’; 改为 select testtbl.exchange from testtbl where testtbl.exchange = ‘***’;[/size][/font][/align][align=left][font=微软雅黑][size=3] [/size][/font][/align][align=left][font=微软雅黑][size=3](2)如果在建表或者查询中表中有包含字段名为gbase关键字或者保留字的可以使用反引号(`)或者双引号(")来转义。 例如: -- create table -- 默认报错 gbase> create table t_key (select int,exchange varchar(10)); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your GBase server version for the right syntax to use near 'int,exchange varchar(10))' at line 1 -- 使用双引号通过 gbase> create table t_key ("select" int,"exchange" varchar(10)); Query OK, 0 rows affected (Elapsed: 00:00:00.41) -- 使用反引号通过 gbase> create table t_key1 (`select` int,`exchange` varchar(10)); Query OK, 0 rows affected (Elapsed: 00:00:00.47) -- insert -- 默认报错 gbase> insert into t_key (select,exchange) values (1,'test'); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your GBase server version for the right syntax to use near 'exchange) values (1,'test')' at line 1 -- 使用双引号通过 gbase> insert into t_key ("select","exchange") values (1,'test'); Query OK, 1 row affected (Elapsed: 00:00:00.48) -- 使用反引号通过 gbase> insert into t_key ("select",`exchange`) values (2,'gbase'); Query OK, 1 row affected (Elapsed: 00:00:00.55) -- select -- 默认报错 gbase> select * from t_key where select=1; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your GBase server version for the right syntax to use near 'select=1' at line 1 -- 使用双引号通过 gbase> select * from t_key where "select"=1; +--------+----------+ | select | exchange | +--------+----------+ | 1 | test | +--------+----------+ 1 row in set (Elapsed: 00:00:00.11) -- 使用反引号通过 gbase> select * from t_key where `exchange`='gbase'; +--------+----------+ | select | exchange | +--------+----------+ | 2 | gbase | +--------+----------+ 1 row in set (Elapsed: 00:00:00.21) 另外,oracle遇到关键字作为字段名时也会报错,也可以通过双引号来解决。 例如: SQL> create table t_key(select number,exchange varchar2(10)); create table t_key(select number,exchange varchar2(10)) * ERROR at line 1: ORA-00904: : invalid identifier SQL> create table t_key("select" number,"exchange" varchar2(10)); Table created.[/size][/font][/align]
春风吹又生 回答了问题2020-07-31

syncserver.log没有查到在哪里?

[align=left][font=微软雅黑][size=3]syncserver.log在/opt/gcluster/config中 Gcluster互相通讯的端口:5256 各个Node间互相通讯的端口:5050[/size][/font][/align]
春风吹又生 回答了问题2020-07-31

扩容日志路径在哪?

[align=left][font=微软雅黑][size=3]扩容时会在/opt/gcluster/log/gcluster中产生gcluster_reconfig.log文件,同时屏幕上会打印出很多信息,这些信息可以使用脚本写入自定义日志文件中供参考。[/size][/font][/align]
春风吹又生 回答了问题2020-07-31

审计日志是否只能记录在数据库表中?

[align=left][font=微软雅黑][size=3]除了table值以外还有file值,且默认为file。 file的位置为/opt/gnode/log/gbase/gbase-audit.log[/size][/font][/align]
春风吹又生 回答了问题2020-07-24

安全组内节点个数增加对性能的影响?是否支持跨机架部...

[align=left][font=微软雅黑][size=3]对于高安全、高可用要求的场景,每SafeGroup设置3个节点;对于兼顾安全和性能的场景,每SafeGroup设置2个节点;对于追求性能同时可以容忍不具备高可用特性的场景,每SafeGroup允许设置1个节点,但这时则完全丧失了高可用特性。GBase8a集群中,每个SafeGroup中最多允许定义3个节点。[/size][/font][/align][align=left][font=微软雅黑][size=3] [/size][/font][/align][align=left][font=微软雅黑][size=3]安全组内节点数的增加,会影响dml、ddl及数据加载的性能,对select性能没有影响。[/size][/font][/align][align=left][font=微软雅黑][size=3] [/size][/font][/align][align=left][font=微软雅黑][size=3]GBase集群的所有节点要求在一个网络环境中,对于物理部署没有严格要求。但出于安全的考虑,建议一个SafeGroup中的不同节点部署在不同机柜上。[/size][/font][/align][align=left][font=微软雅黑][size=3]同一个SafeGroup的主备节点间的数据在加载及dml的执行阶段是并行的;在提交阶段可以配置是串行提交还是并行提交,默认为串行提交。[/size][/font][/align]
春风吹又生 回答了问题2020-07-24

GBASE使用的数据分布算法,是否是一致性哈希?

[align=left][font=微软雅黑][size=3]GBase8a使用的数据分布算法是Hash算法,具体使用crc32函数,并与集群规模相关,属于一致性Hash算法。[/size][/font][/align]
春风吹又生 回答了问题2020-07-24

LR压测集群出现错误Exception was raised when calling ...

[align=left][font=微软雅黑][size=3]原因: 执行LR测试的服务器未关闭防火墙。 解决方法: 关掉LR服务器防火墙。[/size][/font][/align]