我正在尝试将新数据添加到columnstore表中,但它会返回此错误:
ERROR 1815 (HY000) at line 25: Internal error: CAL0001: Insert Failed: IDB-2008: The version buffer overflowed. Increase VersionBufferFileSize or limit the rows to be processed.
我已经增加了VersionBufferFileSize
值,但问题仍然存在。我甚至无法使用columnstore引擎创建新表。当我尝试跑步时:
create table x(a int) engine=columnstore
我收到此错误:
Internal error: CAL0009: (2)Create table failed due to WE: Error updating calpontsys.systable:BRM block version buffer overflow error.
当我查看数据目录中的versionbuffer.cdf
文件(下午4点节点)时,其中一些文件的大小为1G。我想他们在Columnstore.xml
文件中达到了1G的限制。即使我在xml文件中将限制增加到5G,versionbuffer.cdf也不会增加。
如何解决这个问题?有没有办法清空versionbuffer文件?
答案 0 :(得分:0)
您可以尝试停止数据库,重命名版本缓冲区并重新启动它。如果它启动并创建版本缓冲区,则完成。如果没有,请重命名,事情会再次发挥作用。 只需确保在停止系统时没有待处理的事务。
版本缓冲区存储正在进行的事务以允许安全回滚活动。如果没有挂起的转码,重命名缓冲区时应该没有问题。
还要注意,版本缓冲区是按照每个dbroot分配的 - 如果你有多个。
我过去遇到过同样的问题,我认为它有效,但我不是100%肯定。