SAP Hana:超出最大行存储容器数 (1835008)

SAP Hana: Maximum number of row store containers (1835008) exceeded

我正在使用 SAP Hana 作为我的数据存储。我在我的Java代码中捕获了一个异常,如下:

com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [132]: transaction rolled back due to unavailable resource: search table error: "TN_LIVE"."XXX": line 254 col 1 (at pos 9718): [132] (range 3): transaction rolled back due to unavailable resource: "TN_LIVE"."YYY": line 300 col 1 (at pos 10317): [132] (range 3): transaction rolled back due to unavailable resource: maximum number of row store containers (1835008) exceeded
        at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:345)
        at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:185)
        at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
        at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1130)
        at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:877)
        at com.sap.db.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:492)
        at com.sap.db.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:341)
        at com.sap.db.jdbc.CallableStatementSapDB.executeUpdate(CallableStatementSapDB.java:884)
        at com.sap.db.jdbc.trace.CallableStatement.executeUpdate(CallableStatement.java:1163)

可能是什么原因造成的?

编辑

我怀疑这可能是由于我们在行存储类型的存储过程中使用的临时 table - 我们所有的 table 都是列存储类型。这是我们的服务器规格:

  1. 我们在 AWS 上的 hana box 是 122GB
  2. 在问题发生期间,可用的 Hana RAM 约为 42GB
  3. 如何编辑行存储容器设置以克服 1835008 超出警告?或者关于如何缓解此问题的一些步骤?
  4. 重新启动 Hana 服务器后,问题已自动修复,并释放了大约 97GB RAM
  5. 升级 Hana box 是唯一的解决方案还是可以进行某些调整?

这篇文章似乎有关于 "Maximum number of row store containers * exceeded" 的一些信息 - https://apps.support.sap.com/sap/support/knowledge/preview/en/2229994。谁能分享一下那边提到的内容吗?

此错误消息表明行存储表的 HANA 内部资源管理已达到其限制之一。 如果没有关于您究竟在做什么以及您的数据是如何存储的信息,就不可能为您的问题提供准确的答案。 但是,我会开始研究您为什么要使用行存储表以及如何更改其中的数据。