首页 > 其他分享 >Kingbase8: was aborted: ERROR: sorry, too many global temporary relations in backend already. Call

Kingbase8: was aborted: ERROR: sorry, too many global temporary relations in backend already. Call

时间:2023-07-21 14:56:16浏览次数:29  
标签:Kingbase8 temporary 临时 数据库 global relations errors 全局

额....今天踩了一个坑,找个半天找到的解决方法

设置一个会话内最多允许的全局临时表数据和索引的最大文件数量,默认值为32,最小值为1,最大值为1024。这个文件数量并不是实际磁盘看到的文件数目,而是一些依附于这个表的扩展关系文件,比如索引、大对象等。一般情况下,一个全局临时表只会占用参数中一个配额,如果为创建临时表创建了索引,或者全局临时表中包含了大对象列,则会占用多个配额,具体取决于索引和大对象的数量。这个参数只能在服务器启动时设置。设置过大会造成资源浪费。

max_global_temporary_tables=128

"ERROR: sorry, too many global temporary relations in backend already." 错误是由于在kingbase8中创建了过多的全局临时表(global temporary relations)导致的。在kingbase中,全局临时表是可跨会话使用的临时表,会话结束后不会被删除,而是在整个数据库中保留,这可能会导致全局临时表过多,占用大量数据库资源,最终导致出现该错误。
为了解决这个问题,您可以尝试以下几个方法:
优化代码:检查应用程序代码中是否频繁创建全局临时表,可以尝试减少全局临时表的使用,或者优化代码逻辑,避免不必要的创建临时表。
减少全局临时表的存活时间:如果全局临时表不是必要的持久化数据,您可以在使用完全局临时表后,手动删除表或者使用DROP TABLE语句删除表,确保不再占用数据库资源。
调整全局临时表的最大数量:在kingbase8的配置文件(通常是kingbase.conf)中,可以通过调整max_global_temporary_tables参数来增加全局临时表的最大数量。修改该参数后需要重启数据库才能生效。
使用本地临时表:在kingbase8及以上版本中,可以使用本地临时表(CREATE TEMPORARY TABLE)来代替全局临时表。本地临时表只在当前会话中存在,在会话结束后会自动删除,因此不会产生全局临时表过多的问题。
重新评估设计:如果使用全局临时表的需求较多,并且出现了频繁的资源问题,可能需要重新评估数据库设计和应用程序逻辑,考虑是否可以采用其他方式来满足需求,避免过多使用全局临时表。
请注意,在进行数据库配置调整和代码优化时,建议在进行之前备份数据库,并谨慎操作。如果不确定如何修改配置或优化代码,请咨询数据库管理员或专业人员的帮助

标签:Kingbase8,temporary,临时,数据库,global,relations,errors,全局
From: https://www.cnblogs.com/jingyu-zhang/p/17571338.html

相关文章

  • mysql 加上 distinct Using temporary
    MySQL中的DISTINCT和UsingTemporary在MySQL中,DISTINCT是用于返回不重复的数据行的关键字。而UsingTemporary是一个标志,用于告知MySQL在处理查询时使用了临时表。DISTINCT关键字的使用当我们执行一个查询时,有时会发现结果集中存在重复的行。这可能是由于在表中存在重复的数据,或......
  • Some Errors
    加注释时,有/*却没有*/与之配对。move,ws,div,pipe,y1,y2,x1,x2不可作为变量名、函数名等。注意空间限制(一定要利用fprintf(stderr,"%.3lfMB\n",(&Memory_Begins-&Memory_Ends)/1048576.0);计算!!!1)......
  • 关闭vue项目中Uncaught runtime errors弹窗页面
    看控制台发现有webpack类名,应该是webpack搞出来的解決办法再vue.config.js中添加以下配置:module.exports=defineConfig({ ... devServer:{client:{overlay:false}}})......
  • MySQL参数max_connect_errors分析释疑
    最近一MySQL服务器,由于一些特殊因素遇到“ERROR1129(00000):Host'xxx'isblockedbecauseofmanyconnectionerrors.Unblockwith'mysqladminflush-hosts'”,在问题解决后,在详细了解参数max_connect_errors的过程中,有些不同网络资料的矛盾描述确实让我有点迷惑和混淆(关......
  • golang之errors包
    errors包常用方法funcUnwrap(errerror)error//获得err包含下一层错误funcIs(err,targeterror)bool//判断err是否包含targetfuncAs(errerror,targetinterface{})bool//判断err是否为target类型   自定义错误信息errors.New("......
  • golang之errors包
    errors包常用方法funcUnwrap(errerror)error//获得err包含下一层错误funcIs(err,targeterror)bool//判断err是否包含targetfuncAs(errerror,targetinterface{})bool//判断err是否为target类型   自定义错误信息err......
  • Web.Config中customErrors的使用方法(mode=On|Off|RemoteOnly)
    https://cloud.tencent.com/developer/article/21038021)customErrors中的mode“On”始终显示自定义(友好的)信息。“Off”始终显示详细的ASP.NET错误信息。“RemoteOnly”只对不在本地Web服务器上运行的2)customErrors中的defaultRedirect使之指向自定义错误页的URL......
  • 【已解决】MySQL连接错误 ERROR 1129 (00000): Host ” is blocked because of many c
     问题连接MySQL 报错 ERROR1129(00000):Host”isblockedbecauseofmanyconnectionerrors原因同一个IP在短时间内产生太多终端的数据库连接(超过mysql数据库max_connection_errors设置),导致被阻塞。在系统变量:max_connect_errors设置了允许中断的次数,超过了这个次数(或者......
  • pandas.errors.ParserError: Error tokenizing data. C error: Expected 9 fields in
    用pandas读取csv格式文件时,里面有的行比前面的行多出好多列,会报下面的错df=pd.read_csv(file_name_csv,encoding="GBK")File"pandas\_libs\parsers.pyx",line905,inpandas._libs.parsers.TextReader._tokenize_rowsFile"pandas\_libs\parsers.pyx",line......
  • struts的ActionErrors和ActionMessage写法
    我在Action中的ActionErrors的实例中add了一系列的ActionError, 在JSP中用<html:errors/>显示,但什么都没有! 是不是ActionErrors.add("abc", ActionError)中的第一个字符串“abc”要添加在什么资源文件里呀?怎么建立资源文件,怎么添加?怎么显示? 我非常迷惑,请各位赐教,谢谢!   A......