如何解决以下HANA表错误?

2020-09-15 07:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 嗨, 我有一个...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个约有8200万条记录的表,考虑到一个表最多可以容纳20亿条记录,我一直在不断推送数据。 但是出现了以上错误,并且不允许对该表执行任何操作。 我曾尝试对表进行分区,但系统提示我内存不足。

我该如何解决? 另外,将来如何避免此类问题?

谢谢!

(92.5 kB)
2条回答
半个程序猿
2020-09-15 08:39

如何搜索错误? 前面已经讨论过了。

无论如何,这里的要点是:

  • 由于某种原因,增量合并在该表上不起作用,现在该表在增量存储中为20532 MB = 20 GB。
  • 为什么增量合并不起作用? 有几种可能的原因,但很可能有人出于"性能"而将其关闭...
  • 现在,要执行增量合并,SAP HANA需要内存和大量内存(当然,所有这些文档都有很好的记录,因此阅读文档将对您有所帮助)。 实际上,HANA需要空间来同时存储当前表的main,delta和新的main和delta。
  • 对表进行分区允许对数据集进行拆分,并且效果很好-在实际对表进行分区后即可。 但是,分区显然不是就地操作。 HANA需要创建目标数据结构并将数据复制到其中。 猜猜是什么,这比执行增量合并需要更多的内存。
  • 分配限制错误消息告诉我们,您的HANA实例仅允许54941725209字节= 51 GB的HANA总内存。 那不是很小吗?

所以,你真正能做的就是这个问题。

一个简单的选择:删除表,对其进行重新创建(分区),并确保增量合并正在运行,然后从数据源重新加载数据。

另一种选择:将内存限制增加到与您的数据量目标相匹配的水平。

另一种选择:将当前表导出为CSV。 放下桌子。 重新创建表(已分区)并从CSV导出中重新加载数据。

请注意,仅删除大表中的某些记录并不能解决您的问题,因为从技术上讲,列存储是仅INSERT的存储,这意味着删除记录实际上是在添加将记录标记为 已删除。 这些内部信息当然会在以后被清理; 但这是增量合并操作的一部分,暂时对您不起作用。

一周热门 更多>