是否有方法检查SAP HANADB事务日志的内容



我有一个SAP B1系统,它正在从Microsoft SQL迁移到HANA DB。我们在暂存环境中的解决方案是在一小时内生成数十GB的巨大事务日志,但系统还没有接收生产工作负载。SAP已经表示数据库很好,是我们的软件出了问题,但我不清楚如何识别这一点。据我所知,每个程序都在轮询间隔之间休眠,并且间隔不高(每分钟一个查询(。我们只跟踪了SQL一个小时,只有700次更新,但仍有数十GB的事务日志。

有人知道如何调试事务日志吗?-我想看看正在录制什么。

谢谢。

高事务日志数据的主要驱动因素不是执行的SQL命令的数量,而是受这些命令影响的记录的大小/数量。

除了DML命令(DELETE/INSERT/UPDATE(之外,DDL命令(如CREATE和ALTER表(也会生成重做日志数据。例如,对一个大表进行重新分区会产生大量的重做日志。

对于HANA,有一些工具(hdblogdiag(允许检查日志卷结构。然而,这个(以及类似工具(的使用和输出绝对需要对HANA如何操作重做日志的内部知识有广泛的了解。

对于OP的情况,我建议检查DML和DDL引起的数据量变化。

我们遇到了同样的问题。

SAP HANA SPS11<112.06和SPS12<行存储的LOB垃圾收集器中的122.02。

您可以查看SAP Note 2351467

简而言之,你可以选择

  • 升级HANA
  • 或者用查询ALTER TABLE"将包含LOB列的行存储表转换为列存储<schema_name>"lt;表名称>quot;柱

您可以通过以下查询找到列表:

select
distinct lo.schema_name,
lo.table_name
from sys.m_table_lob_files lo
inner join tables ta on lo.table_oid = ta.table_oid
and ta.table_type = 'ROW'
  • 或通过编辑indexserver.ini来禁用行存储lob垃圾收集器;garbage_lob_file_handler_enabled=false";在[row_engine]部分下

最新更新