GBase 8a的gcluster_rsynctool可以实现2套集群间的表同步。包括每套集群使用的私有的网络地址。通过IP映射文件通过大网IP做同步。本文介绍几个使用中出现的报错和处理方法。
分类: GBase8a错误处理
数据库使用报错,以及能解决或规避的方案。不包括产品BUG.a
GBase 8a的replace等函数执行结果太宽导致内存参数不足而报错
replace作为GBase 8a的字符替换函数,用法简单,但如果参数设置不当,也会出现使用故障。特别是目标字符串的长度如果比较大时,容易出现内存参数不足,从而报错的问题。一些其它函数也有类似问题,包括replace,concat,concat_ws,insert,repeat,lpad,rpad,hex,make_set,export_set等。
GBase 8a 手工设置分片dmlstorageevent方法
GBase 8a 手工设置分片dmlstorageevent方法
GBase 8a V95全新安装报错symbol lookup error undefined symbol gcCrmModeGet
GBase 8a通过操作系统环境变量来设置运行环境,如果在安装前,系统残留低版本的集群文件和配置,则会导致环境变量指向了错误的目录或文件,导致新版本集群的一些功能不可用,尤其在原有V8版本,未卸载干净时,安装V95版本。解决方案就是安装前卸载干净,必要时将操作系统数据库dba用户,一般是gbase,删除。
GBase 8a集群文件系统故障后判断主备是否一致的方法和恢复处理建议
GBase 8a是通过副本来确保高可用,当某部分数据(分片)所在节点故障时,由副本节点继续提供服务。但如果发生一些意外故障,比如服务器断电,导致文件系统故障,出现过文件丢失,目录变文件等问题,此时主备分片是否一致?如果不一致如何处理?本文介绍此类问题的一个排查和处理方案。
GBase 8a自增列不允许insert报错auto_increment column should not be specified in insert
GBase 8a从V95版本开始支持自增列,同时也限制该列被手工insert,update等操作,否则会报错 auto-increment column should not be specified in insert。虽然有参数临时放开这个限制,但还是不建议作为常规操作。
GBase 8a在主副本都故障,且无法修复时的处理方案
GBase 8a是通过副本机制来提供高可用保障,但如果出现主副本数据均损坏且无法修复呢?按标准逻辑,有关的表将无法保障完整性,所有相关表查询将报错。本文提供一种在【允许数据丢失,查询结果不完整的前提下】,对现有表的剩余数据可以查询的方法,以及通过缩容,保证新建的表可以正常使用的方案,以及测试过程。
GBase 8a加载hadoop数据报500 Server Internal error
GBase 8a 的加载支持从hadoop hdfs,官方的hadoop不要求userAgent参数,而某些修改版本做了检查,导致服务器端安全检查报错,出现了空指针导致500错误。 通过设置GBase 8a的_gbase_enable_hdfs_useragent参数可以解决该问题
GBase 8a集群由于文件系统磁盘检查工具AIDE导致的加载缓慢问题
操作系统的aide工具用于检查磁盘的完整性,如果其检查时间耗费太多的磁盘读取资源,将会影响GBase 8a数据库的性能,典型的影响就是入库速度变慢。
GBase 8a在硬件原因导致主副本都损坏用户允许数据部分丢失时的处理方案
GBase 8a是将数据分散到多台服务器来实现MPP架构,每个分片数据通过副本来保证高可用,最高允许2个副本。如果因意外,比如多台服务器RAID卡故障,服务器损毁等肯定无法恢复数据的情况,导致分片所在的所有主副本都不可用,此时虽然其它没有损坏的服务器数据是正常的,但在集群层因部分分片数据丢失而无法查询(完整性)。 如果用户允许这部分无法恢复的数据丢失,其它数据希望能继续查询,新服务器能替换现有故障节点,新的表能继续提供正常服务时,本文提供了一个处理方案。