- 博客(67)
- 收藏
- 关注
原创 存储过程执行报错 needs to be re-prepared
存 储 过 程 执 行 偶 尔 报 错 Prepared statement needs to be re-prepared。
2022-11-28 14:38:33
306
原创 GBase 8a 存储过程无法获取 sql 执行行数问题
因为存储过程中使用了 prepare 动态 sql,在获取 row_count()之前又进行了 prepare statement 的释放,导致了无法获取 prepare 执行的 sql 影响行数。使用存储过的 out 参数获取动态 sql 执行的影响行数时,row_count()返回值为-1, 无法准确获取到 sql 执行的行数。
2022-11-28 14:37:06
441
原创 GBase 8a 控制 join 是否启用 hash 重分布模式
当参数=2,自动评估时,有时会将大表拉成复制表进行 join,性能较慢。比 如 3 亿的表 left join 7000 万的表,自动评估会将右表拉复制表,不如 hash 重 分布性能快。各个运算节点上重分布后的临时表和另一个进行 JOIN 运算。应用规则为:两表的尺寸相差不超过 20%时,使用哈 希重分布 JOIN;当该值不为 0 时,若小表拉表的数据行数大于该值,进行 HASH 重分布 JOIN。时,将把其中一个表的数据根据连接条件列的值进行哈希重分布。 参数=0,禁用 hash 重分布,拉复制表。
2022-11-28 14:36:20
312
原创 GBase 8a create as select 建空表优化
create table xxx as select a left join b left join c where 1=2 优化为 create table xxx as select a left join b left join c limit 0。多表 left join 建空表,如(create table xxx as select a left join b left join c where 1=2 ),目前查询优化器会先执行多表 join,然后再根据恒假条件创建空表;
2022-11-28 14:35:33
624
原创 GBase 8a 监控网站报错采集中心不可达
30.6.0 存在该问题,该版本可通过禁用 snmp 服务解决(修改配置文件: gcmonitor_agent/conf/sys/snmp_udp_config.properties)。需要注意的是这里提到的snmp是agent端的采集服务,与采集中心的报警推送snmp 没有关系,不影响与客户的报警集成功能。通过分析程序日志,发现采集中心进程日志有内存溢出,目前判断此问题与 agent 开启 snmp 的配置有关。2)如 1)命令无信息,则再采集中心目录 center.pid 文件中获取进程号;
2022-10-31 13:49:44
136
原创 GBase 8a 企业管理器执行投影列中含有重复列名的 sql 语句报错
select * from (select * from t1 left join t2 on t1.c1=t2.c2 ) t limit 0,1000 错误:Duplicate column name 'c1'报错 sql 在企业管理器中执行时,默认改为 select * from (原 sql) limit 下发执行。同样的 sql 在 gccli 中执行不报错,但是在企业管理器中执行报错。在 sql 语句中对投影列加不同列别名,以避免投影列列名重复,规避问题。
2022-10-31 13:48:54
220
原创 GBase 8a 监控工具无法推送 trap 信息
用户正确配置了 snmp_udp_config.properties 文件,但没有 trap 推送日志:Send snmp trap successfully. info。环境原因:用户机器的 host 文件配置有问题,需要在 host 文件的本机 ip 地址行加 上当前主机名。当再遇到此问题时,请用户检查 host 文件配置。
2022-10-31 13:48:08
118
原创 GBase 8a 企业管理器执行 SQL 查询表中 BLOB 列值中文乱 码
步骤 2 insert into test values (1,’asdasda’),(2,’是吗’), 3,('as是吗');步骤 3 使用企业管理器查询;使用企业管理器执行 SQL 查询,查询表中 BLOB 列字段值,列值中文乱码。步骤 1 点击菜单栏“窗口”-->“首选项”页面中的选择“使用自定义字符集”。步骤 2 自定义字符集选择“UTF-8”编码,点击应用。在查询窗口中自定义结果集字符集进行设置。步骤 3 再次查询既可显示中文。
2022-10-31 13:46:45
529
原创 GBase 8a CAPI 连接集群执行 sql 报错“Commands out of sync”
用 C 调用时,报错:2014, "Commands out of sync;原因为程序中结果集调用完成后未释放,即前一个 sql 的状态未清理,在执行第二 个 sql 时会报此错误。在 C 程序中结果集用完后,用 gbase_free_results 释放结果集,重新调用后正常。
2022-10-31 13:45:49
357
原创 Gbase 在线扩容过程中使用 swap 导致业务性能下降
Variable '_gbase_rep_receive_buffer_size' is a read only variable _gbase_rep_receive_buffer_size 默认设置为 20G , 最小可设置为 5G, 无上限, 默认单位为 MB。_gbase_rep_pending_memory_size 此参数代表接收端接收缓存的上限,以 MB 为单位,这个值设得越大,则接收。端的压力越大,反之则发送端的压力越大,因此需要找到一个中间值,使发送。当前经验值是设为物理内存的。
2022-09-29 17:42:15
157
原创 GBase 集群扩容过程中有节点 offline 是否会有影响
1. 新的 Distribution 主分片数不等于老的 Distribution 主分片数场景下。集群 Rebalance 过程中如果有节点出现问题(包括永久性 offline),只要不影响从 正在扩容表 SELECT 出数据,Rebalance 就可以正常进行。3. Rebalance 是以表粒度执行,在有节点出现问题时,最多会设置正在 Rebalance 的表的 FEVENTLOG,不会设置集群状态为不可用。此时 Rebalance 是否能成功,取决于需要移动的分片所在的原节点和目标节点 是否正常。
2022-09-29 17:41:21
172
原创 GBase 8a节点替换的时候报错
如果是 root 用户需要 vi /root/.ssh/known_hosts 找到报错结点,删除密码,如果 还是不行,需要重新执行集群安装包里面的 sh c3_conf.sh sshtrust_conf.sh; 如果是 gbase 用户需要 vi /home/gbase/.ssh/known_hosts 找到报错结点,删除密 码;集群的节点被替换时,需要重新生成互信文件中的密钥,不然会报错。 如果上述都不行,那就考虑重启一下机器。
2022-09-29 17:40:40
340
原创 GBase 8a 全文索引更新时报错
导致内存吃紧,可以设置 gbfticfg.xml 配置文件中的参数 reduceMemoryMode 为 1 解决。全文默认参数是支持增量更新的,会在索引过程中持有字典,大批量一次更新会。全文索引更新处理时报错。
2022-09-29 17:39:59
391
原创 GBase 8a 使用 JDBC 对时间按照获取时间的时区格式化
我们现在支持的 oracle、sqlserver、sybaseiq 等数据库获取时间的处理,按什么时 区获取时间就按什么时区格式化时间(例如按 gmt0 时区获取时间就按 gmt0 时区 格式化),出来的结果都是正确的。System.out.println("GMT0 时区获取时间后格式化:" + sf.format(date));System.out.println("本地时区获取时间后格式化:" + sf.format(date1));
2022-09-29 17:39:20
323
原创 GBase 8a数据加密
GBase 8a数据加密是提供对数据库落地数据的软加密功能,用来满足用户的安全需求,提高系统的安全性。数据加密按照seg文件中的DC为最小单位进行,可以实现表级或者列级不同粒度的加密要求。
2022-08-31 10:23:58
138
原创 GBase 8a多租户能力
在虚拟集群内,通过资源管理和资源组灵活配置不同应用和用户的资源配额和查询优先级,同时在完善的权限授权管理机制下,使得不同的应用以及不同类型的任务可以同时运行在一个集群中,但它们相互之间又得到必要的隔离,就好象运行在透明的“沙箱”一样。...
2022-08-31 10:23:15
108
原创 GBASE 8a支持什么OLAP函数
GBase 8a MPP Cluster 提供OLAP函数,用于支持复杂的分析操作,侧重于对决策人员和高层管理人员的决策支持。可根据分析人员的要求,快速灵活地进行大数据量的复杂查询处理,以便他们准确掌握企业的经营状况,了解被服务对象的需求,制定正确的方案。...
2022-08-31 10:22:08
503
原创 GBase 8a 视图查询审计日志表性能差
定义一个视图 create view v_test_audit as select * from gbase.audit_log,加 limit 1 查询这个视图,. 全表数据七千万条记录下,需要 7 分钟才能出来 ,方案 2、使用已有 event 方案,即将系统表定时导入 express 表,查询时使。用 express 表即可(同时考虑 gssys 表损坏与查询性能)。方案 1、直接查询系统表,规避视图的方式;方案 3.不使用关于 gssys 的视图。...
2022-08-31 10:21:26
280
原创 什么是GBase 8a 并行技术
集群接口驱动可以有效实现对上层应用请求的负载进行均衡(应用调用接口驱动的连接串中配置集群管理节点的多个IP,接口驱动的内部进行连接的负载均衡)。应用层请求响应节点完成SQL解析并生成执行计划,协调集群相关节点并发参与计算和处理,极大地提高了整个集群节点的并发度,充分发挥了集群性能。针对不同的数据分布及特征,会智能地选择不同算法进行处理。GBase 8a MPP Cluster 针对数据加载和数据查询实现了自动高效的并行处理技术,充分利用SMP多核CPU资源并行处理海量数据。...
2022-08-31 10:20:47
428
原创 GBase 8a小查询并发场景优化
借助排序和行存列,小查询并发最优吞吐量可以提升3倍。最优配置为行存列+排序+索引,其次是行存列+排序。小查询并发场景优化。
2022-07-28 11:23:10
188
原创 GBase 8a 多分片并发场景部署建议
当很少发生节点异常情况时,集群部署选择单分片。不建议使用4分片部署方式,性能损失较大。当节点经常异常时,集群部署选择2分片。多分片并发场景测试部署建议。
2022-07-28 11:22:25
198
原创 GBase 8a 硬盘问题导致集群执行效率变慢 问
通过gnode层的showprocesslist看,发现一个节点sql任务特别多,执行时间较长。怀疑这个节点的硬件有问题。同时通过nmon观察这个节点的I/O使用率100%,而硬盘的读写效率只有10M/S左右。以上可以确定这台机器的硬盘有问题。可以通过ddblocksize4k--1m进行测试,来验证问题。通过观察pstack有多个线程在执行fdatasync()。集群执行效率整体变慢。...
2022-07-28 11:21:44
325
原创 GBase 8a 存储过程执行报错 needs to be re-prepared
存储过程执行偶尔报错Preparedstatementneedstobere-prepared。
2022-07-28 11:20:02
309
原创 GBase 8a 集群性能衰减问题排查
问题现象集群重启后,性能较高,随着测试继续,性能表现逐渐衰减。解决方法默认情况下,TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES 只有 32M ,此环境变量代表线程本地化内存总量,当小查询高并发时,会导致加锁回收和 申请。导致性能下降。调整 tcmalloc 环境变量可以改善此情况,具体步骤如下: 修改 .bashrc 增加如下环境变量:TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=1073741824 cexec killall
2022-06-28 10:55:16
222
原创 GBAse 8a 两表 like 条件关联使用 limit 和 limit offset 性能差 异大 问题解决方案
问题现象两表 like 条件关联使用 limit 和 limit offset 性能差异大,如下示例,该 SQL 执行 时跑了几万秒没有结果,但把最后的 limit 0,500 换成 limit 500,20 秒左右就可以 执行完毕。SELECT a.*,b.addr_full_name,b.gridcodeFROM gd_eda.temp_wyj_obd_01 a,gd_lx.address_grid bWHERE b.addr_full_name LIKE a.address || '%'
2022-06-28 10:54:38
553
原创 GBase 8a 86 版本集群多分片情况下一个节点 OFFLINE 性能 下降严重 问题解决方案
问题现象8512 版本 8a 集群,在经分类项目中遇到一旦出现某个节点 Offline 后,整体集群 性能下降严重问题。offline 节点的计算任务转移到同 SG 的另一个节点,导致计算 资源不足而导致性能成倍下降;8611 版本开始支持多分片,即一个 data node 上存储多个主分片数据,理论上可以 解决单个节点 offline 后,整体集群性能严重下降问题;但某项目测试过程中发 现,在单节点两个主分片情况下,offline 一个节点后,性能下降 3 倍以上,远低 于 1 个主分片时性能下降 6
2022-06-28 10:53:57
259
原创 GBase 8a 控制随机分布表 insert value 数据分布原则
问题现象控制随机分布表 insert value 数据分布原则 gcluster_random_insert。解决方法参数 gcluster_random_insert,用于控制随机分布表在执行 insert value 时,发起的 集群节点上存在单机节点,数据分布到单机的原则。0:insert value 数据都落在和发起集群节点相同的单机节点上;1:insert value 进入的每条数据,采用 random()%分片数原则,随机落在任意 单机节点。...
2022-06-28 10:53:14
394
原创 GBase 8a 小查询并发场景优化
问题现象小查询并发场景优化。解决方法测试结论借助排序和行存列,小查询并发最优吞吐量可以提升 3 倍。最优配置为行存列+排序+索引,其次是:行存列+排序。
2022-06-28 10:52:18
135
原创 什么是GBase 8a 并行技术
GBase 8a MPP Cluster 针对数据加载和数据查询实现了自动高效的并行处理技术,充分利用SMP多核CPU资源并行处理海量数据。同时GBase 8a MPP Cluster 具有智能的算法适配功能。例如灵活的 Join 处理方式,支持 Hash Join、Nest-loop Join、Merge Join等。针对不同的数据分布及特征,会智能地选择不同算法进行处理。这也充分解决各种行业应用中 Join 操作,特别是 10 个以上的多表Join操作带来的性能压力。GBase 8a MPP Clu
2022-05-27 10:53:14
333
原创 GBASE 8a支持什么OLAP函数
GBase 8a MPP Cluster 提供OLAP函数,用于支持复杂的分析操作,侧重于对决策人员和高层管理人员的决策支持。可根据分析人员的要求,快速灵活地进行大数据量的复杂查询处理,以便他们准确掌握企业的经营状况,了解被服务对象的需求,制定正确的方案。...
2022-05-27 10:52:05
59
原创 GBase 8a多租户能力
在虚拟集群内,通过资源管理和资源组灵活配置不同应用和用户的资源配额和查询优先级,同时在完善的权限授权管理机制下,使得不同的应用以及不同类型的任务可以同时运行在一个集群中,但它们相互之间又得到必要的隔离,就好象运行在透明的“沙箱”一样。...
2022-05-27 10:50:59
58
原创 GBase 8a数据加密
GBase 8a数据加密是提供对数据库落地数据的软加密功能,用来满足用户的安全需求,提高系统的安全性。数据加密按照seg文件中的DC为最小单位进行,可以实现表级或者列级不同粒度的加密要求。...
2022-05-27 10:49:55
165
原创 GBase 8a 审计日志中 JDBC 程序执行的 sql 语句 conn_type 字段显示为空
问题现象审计日志中 JDBC 程序执行过的 sql,在 audit_log 的 conn_type 字段显示为空,没有 显示出 JDBC。原因分析之前有一个兼容的需求,增加了一个参数,默认关闭,不向 server 提供连接类型。解决方法在 JDBC 的连接串中设置打开该参数 useConnectionFlag=true 后测试,审计日志中 能够体现出 JAVA 程序连接的类型是 JDBC。...
2022-05-27 10:48:41
139
原创 GBase 8a 开启资源管理计划之后删除用户受限
问题现象开启资源计划的情况下删除用户,报错 ERROR 1268 (HY000): Cannot drop one or more of the requested users。停止资源计划后,没有将用户从消费组中删除时,删除用户报错 ERROR 1758 (H Y000): gcluster dal error: Operation DROP USER failed for 'u01'@'%'.。解决方法测试发现,开启资源计划的情况下,对于明确添加到 consumer group 的用户,需要 停
2022-04-26 10:04:10
285
原创 GBase 8a 8资源管理中静态池参数 max_memory 的设置原则
问题现象静态池参数 max_memory 的设置原则是什么?以一个静态池为例,期望最大化利 用内存(同时避免溢出风险),是否该参数设为节点物理内存的值,包括 swap 吗?解决方法 max_memory 值指 Large 堆内存的分配上限。其值不应超过 gnode 进程的最大 可用内存; 默认情况下:gnode 的最大可用内存为(系统内存+swap)*0.8。其中比率 0.8 可 由 gbase_memory_pct_target 参数调整。无论是否开启资源管理,只要比率设置 合理,不会引发系统
2022-04-26 10:03:19
301
原创 GBase 8a 严格的资源隔离需要升级到 redhat7.3 及以上版本
如果要实现比较严格的资源隔离,是否一定要升级到 redhat7.3 及以上版本,通过 多个静态池来实现?解决方法是的,需要。由于内核 BUG,必须使用 RH7.3+/SUSE12+(Docker 的最低安装要求 同样是 RH7.3+/SUSE12+)。...
2022-04-26 10:02:31
121
原创 GBase 8a 资源管理在 redhat 7.3 以下版本只能使用一个静态池
问题现象在 redhat7.3 以下的版本,是否只能使用一个静态池、多个动态池的方式实现资源相对隔离,此时各动态池存在资源争用的风险?可用优先级、并发度参数等来调节吗?解决方法 由于内核 BUG,RH7.3/SUSE12 以下版本,只能使用一个静态池。为实现类似 静态池效果,可以使用多个动态池配合并行度和优先级参数; 动态池的优先级和百分比参数的配置可影响 CPU 时间片争抢的权重,从而影 响 SQL 的最终执行时间。在实践中,并行度参数比优先级参数会更显著的影 响 SQL 的最终执行时间。
2022-04-26 10:01:36
78
原创 GBase 8a CAPI 连接集群执行 sql 报错“Commands out of sync”
CAPI 连接集群执行 sql 报错"Commands out of sync”问题现象用 C 调用时,报错:2014, "Commands out of sync; you can't run this command now”。原因分析原因为程序中结果集调用完成后未释放,即前一个 sql 的状态未清理,在执行第二 个 sql 时会报此错误。S解决方法在 C 程序中结果集用完后,用 gbase_free_results 释放结果集,重新调用后正常。...
2022-04-26 09:57:26
186
原创 GBase 8a高并发时管理节点进程重启问题解决
高并发时管理节点进程重启问题现象节点的 gcmmonit、gcmonit、corosync、gclusterd、gcrecover 进程全部重启,当时数据库会话总数为 215,该节点会话数为 70。该节点最近在业务高峰时重启比较频繁解决方法:1、调大 corosync 进程的 max_open_files 参数。corosync 进程的 Max open files值是 65535,其他几个进程的值是 655350,修改 corosync 的 Max open files 值为655...
2022-03-23 16:30:48
1377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人